2014-09-03 13 views
51

Próbuję zintegrować Tomcat z Apache. Moim celem jest, aby przekierować wszystkie żądania z http://localhost/myapp do http://localhost:8080Httpd Zwrot 503 Usługa Niedostępne z mod_proxy dla Tomcat 8

Śledziłem ten przewodnik: http://tomcat.apache.org/tomcat-8.0-doc/proxy-howto.html

My httpd.conf wygląda następująco:

Include conf.modules.d/*.conf 
LoadModule proxy_module modules/mod_proxy.so 

ProxyPass   /myapp http://localhost:8080 retry=0 timeout=5 
ProxyPassReverse /myapp http://localhost:8080 

mój server.xml w apache-tomcat wygląda to:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" proxyPort="80" /> 

Teraz, gdy próbuję adresu URL http://localhost/myapp, powoduje błąd 503 Service Unavailable.

Zarówno Tomcat, jak i Apache są uruchomione. Adres URL http://localhost:8080 działa dobrze.

Czy może wystąpić problem z uprawnieniami do plików?

Dla tomcat użytkownika i grupy są root/root i httpd, użytkownik i grupa są apache/apache

Am I brakuje czegoś lub robię to źle?

wersja Httpd jest wersja 2.4.6 i Tomcat jest 8,0

dzienniki błędów httpd:

[proxy:error] [pid 19905] (13)Permission denied: AH00957: HTTP: attempt to connect to 127.0.0.1:8080 (localhost) failed 

[proxy:error] [pid 19905] AH00959: ap_proxy_connect_backend disabling worker for (localhost) for 0s 

[proxy_http:error] [pid 19905] [client ::1:51615] AH01114: HTTP: failed to make connection to backend: localhost 

rozwiązany!

Odpowiedź jest tutaj: (.. Odpowiedział PO w edycji zapytania przerobiony na odpowiedź Wiki Zobacz Question with no answers, but issue solved in the comments (or extended in chat)) http://sysadminsjourney.com/content/2010/02/01/apache-modproxy-error-13permission-denied-error-rhel/

+1

Co zawiera dziennik błędów Apache? – arco444

+1

Zaktualizowałem pytanie.Proszę sprawdzić – user2354302

+2

Dzięki za podpowiedź. Znalazłem ten http://sysadminsjourney.com/content/2010/02/01/apache-modproxy-error-13permission-denied-error-rhel/, który rozwiązał problem. – user2354302

Odpowiedz

73

PO napisał:

odpowiedź jest tutaj: http://sysadminsjourney.com/content/2010/02/01/apache-modproxy-error-13permission-denied-error-rhel/

Co jest linkiem do bl i to wyjaśnia:

SELinux na RHEL/CentOS domyślnie wysyła statki, aby procesy httpd nie mogły inicjować połączeń wychodzących, co jest właśnie tym, co próbuje zrobić mod_proxy.

Jeśli jest to problem może być rozwiązany przez wykonanie:

/usr/sbin/setsebool -P httpd_can_network_connect 1 

A dla bardziej ostateczne źródło informacji, zobacz https://wiki.apache.org/httpd/13PermissionDenied

+2

Myślę, że to nie jedyny powód 503. Ponieważ SELinux jest wyłączony. Może to być błąd konfiguracji VirtualHost. – stamaimer

3

ten pracował dla mnie:

ProxyRequests  Off 
ProxyPreserveHost On 
RewriteEngine On 

<Proxy http://localhost:8123> 
Order deny,allow 
Allow from all 
</Proxy> 

ProxyPass   /node http://localhost:8123 
ProxyPassReverse /node http://localhost:8123 
Powiązane problemy