Ich habe Apache 2.2.15 auf Port 80 ausgeführt und möchte eine Servlet-Engine auf Localhost-Port 8983 proxen. Ich habe das Setup auf einem anderen Server ausgeführt, bin jedoch auf einen CentOS 6-Computer umgezogen. Es funktioniert nicht auf der neuen Maschine. Meine virtuelle Host-Konfiguration:
ProxyRequests Off <Proxy *> Befehl ablehnen, erlauben Erlaube von allen </ Proxy> ProxyPass / http: // localhost: 8983 / ProxyPassReverse / http: // localhost: 8983 /
Ich kann auf Port 8983 zugreifen, wenn ich einen Browser verwende und direkt dorthin gehe (und nicht über den Apache-Proxy), aber keine Verbindung herstellen, wenn ich zum / über den Apache-Server gehe.
Ich kann ändern, was als Proxy für so etwas wie http://slashdot.org verwendet wird, und Slashdot wird erfolgreich als Proxy verwendet (daher weiß ich, dass es im Allgemeinen als Proxy verwendet werden kann).
Ich habe die Debug-Anmeldung in Apache aktiviert und dies ist die Transaktion:
[So 22 Apr 16:47:04 2012] [debug] mod_proxy_http.c (56): Proxy: HTTP: URL kanonisieren // localhost: 8983 / [So 22 Apr 16:47:04 2012] [debug] proxy_util.c (1506): [client 184.39.79.7] Proxy: http: Worker gefunden http: // localhost: 8983 / für http: // localhost: 8983 / [So 22 Apr 16:47:04 2012] [debug] mod_proxy.c (998): http-Handler für Schema ausführen (Versuch 0) [So 22 Apr 16:47:04 2012] [debug] mod_proxy_http.c (1962): Proxy: HTTP: Serving-URL http: // localhost: 8983 / [So 22 Apr 16:47:04 2012] [debug] proxy_util.c (2011): Proxy: HTTP: hat Verbindung für (localhost) erhalten [So 22 Apr 16:47:04 2012] [Debug] proxy_util.c (2067): Proxy: Verbindet http: // localhost: 8983 / mit localhost: 8983 [So 22 Apr 16:47:04 2012] [debug] proxy_util.c (2193): Proxy: verbunden / mit localhost: 8983 [So 22 Apr 16:47:04 2012] [debug] proxy_util.c (2444): Proxy: HTTP: Socket fam 10 erstellt, um eine Verbindung zu localhost herzustellen [So 22 Apr 16:47:04 2012] [Debug] proxy_util.c (2455): (13) Berechtigung verweigert: Proxy: HTTP: Versuch, eine Verbindung zu [:: 1] herzustellen: 8983 (localhost) ist fehlgeschlagen [So 22 Apr 16:47:04 2012] [debug] proxy_util.c (2444): Proxy: HTTP: Socket fam 2 erstellt, um eine Verbindung zu localhost herzustellen [So 22 Apr 16:47:04 2012] [Fehler] (13) Berechtigung verweigert: Proxy: HTTP: Versuch, eine Verbindung zu 127.0.0.1:8983 (localhost) herzustellen, fehlgeschlagen [So 22 Apr 16:47:04 2012] [Fehler] ap_proxy_connect_backend deaktiviert Worker für (localhost) [So 22 Apr 16:47:04 2012] [debug] proxy_util.c (2029): Proxy: HTTP: hat Verbindung für (localhost) freigegeben [So 22 Apr 16:47:04 2012] [debug] mod_proxy_http.c (56): Proxy: HTTP: URL kanonisieren //localhost:8983/favicon.ico [So 22 Apr 16:47:04 2012] [debug] proxy_util.c (1506): [client 184.39.79.7] Proxy: http: Worker gefunden http: // localhost: 8983 / für http: // localhost: 8983 / favicon.ico [So 22 Apr 16:47:04 2012] [debug] mod_proxy.c (998): http-Handler für Schema ausführen (Versuch 0) [So 22 Apr 16:47:04 2012] [debug] mod_proxy_http.c (1962): Proxy: HTTP: Serving-URL http: // localhost: 8983 / favicon.ico [So 22 Apr 16:47:04 2012] [debug] proxy_util.c (1949): Proxy: HTTP: Wiederholung des Workers für (localhost) [So 22 Apr 16:47:04 2012] [Fehler] Proxy: HTTP: Verbindung deaktiviert für (localhost)
Ich weiß nicht, was FAM 10 oder FAM 2 Sockets sind. Hat jemand eine Idee, warum er nicht an meinen alternativen Port weiterleitet?
Vielen Dank!
quelle
Antworten:
Hier ist die Lösung für Ihr Problem:
Um diesen Booleschen Wert zu aktivieren, müssen Sie einfach diese Zeile verwenden (Root-Berechtigungen).
oder
Ich hoffe, das hilft. Referenz siehe hier: https://wiki.centos.org/TipsAndTricks/SelinuxBooleans
quelle
Ich habe mein Problem gelöst:
Wenn ich mache:
sestatus -b | grep httpd
Ich kann sehen,
httpd_can_network_connect
istoff
Die Lösung besteht darin, Folgendes einzugeben:
togglesebool httpd_can_network_connect
quelle
togglesebool
kommt von (nicht auf meiner CentOS7-minimal) und die Bahn legt nahe , dass selbst wenn Sie habentogglesebool
nur die „im Speicher“ Werte geändert“ Aber.setsebool -P httpd_can_network_connect=1
Funktionierte für mich,. -P, um es einen Neustart überleben Danke für der Hinweis!Stellen Sie sicher, dass Port 8080 empfangsbereit ist, indem Sie den folgenden Befehl ausführen
Wenn nicht, starten Sie den Jenkins-Server neu
Es sollte jetzt funktionieren. Ich hoffe es hilft
quelle