2014-09-03 4 views
51

Sto cercando di integrare Tomcat con Apache. Il mio obiettivo è quello di reindirizzare tutte le richieste con http://localhost/myapp per http://localhost:8080Httpd che restituisce 503 Servizio non disponibile con mod_proxy per Tomcat 8

ho seguito questa guida: http://tomcat.apache.org/tomcat-8.0-doc/proxy-howto.html

mio httpd.conf assomiglia a questo:

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 

mio server.xml in apache-tomcat assomiglia questo:

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

Ora in cui provo l'url 012.398.187,417 mila, dà l'errore 503 Service Unavailable.

Sia Tomcat che Apache sono attivi e funzionanti. L'URL http://localhost:8080 funziona correttamente.

Può esserci un problema con i permessi dei file?

Per tomcat l'utente e di gruppo sono root/root e per httpd, l'utente e di gruppo sono apache/apache

mi sto perdendo qualcosa o sto facendo male?

versione Httpd è 2.4.6 e la versione di Tomcat è 8,0

i log degli errori 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 

risolto!

La risposta è qui: (.. Risponde l'OP in una modifica domanda Convertito in una risposta della comunità wiki Vedere 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

Cosa c'è nei log degli errori di Apache? – arco444

+1

Ho aggiornato la domanda.Si prega di verificare – user2354302

+2

Grazie per il suggerimento. Ho trovato questo http://sysadminsjourney.com/content/2010/02/01/apache-modproxy-error-13permission-denied-error-rhel/ che ha risolto il problema – user2354302

risposta

73

Il PO ha scritto:

Il risposta è qui: http://sysadminsjourney.com/content/2010/02/01/apache-modproxy-error-13permission-denied-error-rhel/

Quale è un collegamento a un bl Questo spiega:

SELinux su RHEL/CentOS di default viene spedito in modo tale che i processi httpd non possano avviare connessioni in uscita, che è proprio quello che tenta di fare mod_proxy.

Se questo è il problema, che può essere risolto in esecuzione:

/usr/sbin/setsebool -P httpd_can_network_connect 1 

E per una fonte più definitiva di informazioni, vedere https://wiki.apache.org/httpd/13PermissionDenied

+2

Penso che non sia l'unica causa del 503. Perché SELinux è disabilitato. Potrebbe essere l'errore di configurazione di VirtualHost. – stamaimer

3

questo ha funzionato per me:

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