2014-09-03 39 views
51

我正在嘗試將Tomcat與Apache集成。我的目標是把所有的請求重定向與 http://localhost/myapphttp://localhost:8080Httpd返回503服務不可用的mod_proxy for Tomcat 8

我遵循這個指南:http://tomcat.apache.org/tomcat-8.0-doc/proxy-howto.html

httpd.conf看起來是這樣的:

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 

我在Apache的tomcat的server.xml中的樣子這個:

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

現在當我嘗試url http://localhost/myapp,它給出了503 Service Unavailable錯誤。

Tomcat和Apache都啓動並運行。網址http://localhost:8080工作正常。

是否有文件權限問題?

tomcat的用戶和組的root/roothttpd,用戶和組的apache/apache

我缺少的東西還是我做錯了?

的httpd版本是2.4.6和Tomcat的版本是8.0

的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 

解決了!

答案就在這裏:(。由OP的問題編輯轉換爲一個社區維基答案回答見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

apache錯誤日誌裏有什麼? – arco444 2014-09-03 12:54:24

+1

我更新了問題。請檢查 – user2354302 2014-09-03 12:58:53

+2

感謝您的提示。我發現這個http://sysadminsjourney.com/content/2010/02/01/apache-modproxy-error-13permission-denied-error-rhel/它解決了問題 – user2354302 2014-09-03 13:01:20

回答

73

的OP寫道:

的答案在這裏:http://sysadminsjourney.com/content/2010/02/01/apache-modproxy-error-13permission-denied-error-rhel/

這是一個鏈接到BL og說明:

RHEL/CentOS上的SELinux默認運行,以便httpd進程無法啓動出站連接,這正是mod_proxy嘗試執行的操作。

如果是這樣的問題,可以通過運行解決:

/usr/sbin/setsebool -P httpd_can_network_connect 1 

以及對信息的更明確的來源,看https://wiki.apache.org/httpd/13PermissionDenied

+2

我認爲這不是導致503的唯一原因。因爲SELinux被禁用。這可能是VirtualHost配置錯誤。 – stamaimer 2015-08-04 01:39:54

3

這個工作對我來說:

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 
相關問題