J'ai Apache 2.2.15 en cours d'exécution sur le port 80 et je souhaite proxy un moteur de servlet sur le port localhost 8983. J'ai la configuration en cours d'exécution sur un autre serveur, mais je suis passé à une machine CentOS 6. Cela ne fonctionne pas sur la nouvelle machine. Ma configuration d'hôte virtuel:
ProxyRequests Off <Proxy *> Ordonner refuser, autoriser Autoriser de tous </Proxy> ProxyPass / http: // localhost: 8983 / ProxyPassReverse / http: // localhost: 8983 /
Je peux accéder au port 8983 si j'utilise un navigateur et y accéder directement (sans passer par le proxy Apache), mais je ne peux pas me connecter si je vais sur / via le serveur Apache.
Je peux changer ce qui est mandaté par quelque chose comme http://slashdot.org et Slashdot obtient un proxy avec succès (donc je sais qu'il est capable de proxy en général).
J'ai activé la connexion de débogage dans Apache et voici la transaction:
[Dim 22 avril 16:47:04 2012] [débogage] mod_proxy_http.c (56): proxy: HTTP: canonicalizing URL // localhost: 8983 / [Dim 22 avril 16:47:04 2012] [débogage] proxy_util.c (1506): [client 184.39.79.7] proxy: http: travailleur trouvé http: // localhost: 8983 / pour http: // localhost: 8983 / [Dim 22 avril 16:47:04 2012] [débogage] mod_proxy.c (998): Exécution du gestionnaire http du schéma (tentative 0) [Dim 22 avril 16:47:04 2012] [débogage] mod_proxy_http.c (1962): proxy: HTTP: URL de service http: // localhost: 8983 / [Dim 22 avril 16:47:04 2012] [débogage] proxy_util.c (2011): proxy: HTTP: a acquis la connexion pour (localhost) [Dim 22 avril 16:47:04 2012] [débogage] proxy_util.c (2067): proxy: connexion http: // localhost: 8983 / à localhost: 8983 [Dim 22 avril 16:47:04 2012] [débogage] proxy_util.c (2193): proxy: connecté / à localhost: 8983 [Dim 22 avril 16:47:04 2012] [débogage] proxy_util.c (2444): proxy: HTTP: socket fam 10 créé pour se connecter à localhost [Dim 22 avril 16:47:04 2012] [débogage] proxy_util.c (2455): (13) Autorisation refusée: proxy: HTTP: tentative de connexion à [:: 1]: 8983 (localhost) a échoué [Dim 22 avril 16:47:04 2012] [débogage] proxy_util.c (2444): proxy: HTTP: socket fam 2 créé pour se connecter à localhost [Dim 22 avril 16:47:04 2012] [erreur] (13) Autorisation refusée: proxy: HTTP: la tentative de connexion à 127.0.0.1:8983 (localhost) a échoué [Dim 22 avril 16:47:04 2012] [erreur] ap_proxy_connect_backend désactivant le travailleur pour (localhost) [Dim 22 avril 16:47:04 2012] [débogage] proxy_util.c (2029): proxy: HTTP: a libéré la connexion pour (localhost) [Dim 22 avril 16:47:04 2012] [débogage] mod_proxy_http.c (56): proxy: HTTP: canonicalizing URL //localhost:8983/favicon.ico [Dim 22 avril 16:47:04 2012] [débogage] proxy_util.c (1506): [client 184.39.79.7] proxy: http: travailleur trouvé http: // localhost: 8983 / pour http: // localhost: 8983 / favicon.ico [Dim 22 avril 16:47:04 2012] [débogage] mod_proxy.c (998): Exécution du gestionnaire http du schéma (tentative 0) [Dim 22 avril 16:47:04 2012] [débogage] mod_proxy_http.c (1962): proxy: HTTP: URL de service http: // localhost: 8983 / favicon.ico [Dim 22 avril 16:47:04 2012] [débogage] proxy_util.c (1949): proxy: HTTP: nouvelle tentative du travailleur pour (localhost) [Dim 22 avril 16:47:04 2012] [erreur] proxy: HTTP: connexion désactivée pour (localhost)
Je ne sais pas ce que sont les prises fam 10 ou fam 2. Quelqu'un a-t-il des idées sur la raison pour laquelle il ne procède pas à un proxy sur mon port alternatif?
Merci!
la source
Réponses:
Voici la solution à votre problème:
Pour activer ce booléen, vous devez simplement utiliser cette ligne (autorisations root)
ou
J'espère que cela pourra aider. Référence voir ici: https://wiki.centos.org/TipsAndTricks/SelinuxBooleans
la source
J'ai résolu mon problème:
Si je fais:
sestatus -b | grep httpd
Je peux voir
httpd_can_network_connect
estoff
La solution est de taper:
togglesebool httpd_can_network_connect
la source
togglesebool
vient (pas sur mon CentOS7-minimal) et le Web suggère que même si vous aveztogglesebool
seulement les valeurs "en mémoire" sont modifiées " . Mais cela asetsebool -P httpd_can_network_connect=1
fonctionné pour moi; -P pour le faire survivre à un redémarrage. Merci pour l'astuce!Assurez-vous que le port 8080 écoute en exécutant la commande suivante
Sinon, redémarrez le serveur Jenkins
Cela devrait fonctionner maintenant. J'espère que cela aide
la source