web-dev-qa-db-ja.com

Tomcat 8のmod_proxyで503 Service Unavailableを返すHttpd

TomcatとApacheを統合しようとしています。私の目的は、http://localhost/myappを含むすべてのリクエストをhttp://localhost:8080にリダイレクトすることです

私はこのガイドに従いました: 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の両方が稼働しています。 URL http://localhost:8080は正常に機能します。

ファイルのアクセス権に問題はありますか?

Tomcatの場合、ユーザーとグループはroot/rootであり、httpdの場合、ユーザーとグループは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

解決済み!

答えはこちらです: http://sysadminsjourney.com/content/2010/02/01/Apache-modproxy-error-13permission-denied-error-rhel/

67
user2354302

(質問の編集でOPが回答しました。コミュニティWikiの回答に変換されました。 回答のない質問ですが、問題はコメントで解決されました(またはチャットで拡張されました)

OPは書きました:

答えはこちらです: http://sysadminsjourney.com/content/2010/02/01/Apache-modproxy-error-13permission-denied-error-rhel/

これは、以下を説明するブログへのリンクです。

RHEL/CentOS上のSELinuxはデフォルトで出荷されるため、httpdプロセスはアウトバウンド接続を開始できません。これはmod_proxyが試行することです。

これが問題であれば、次を実行することで解決できます。

 /usr/sbin/setsebool -P httpd_can_network_connect 1

より明確な情報源については、 https://wiki.Apache.org/httpd/13PermissionDenied をご覧ください。

これは私のために働いた:

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
5
Daniel

CentOS Linuxリリース7.5.1804では、/ etc/selinux/configを編集し、SELINUXの設定を次のように変更することで、この機能を実現できました。

SELINUX=disabled
0
Paul Cuddihy