61

Apache Web サーバーを使用して、Tomcat サーバーから Web サービスをリバース プロキシしたいと考えていました。httpd.conf を変更しました

LoadModule proxy_module modules/mod_proxy.so

<Directory />
    AllowOverride none
    Require all denied
</Directory>

ProxyPass         /ROOT  http://localhost:8080/ROOT
ProxyPassReverse  /ROOT  http://localhost:8080/ROOT

Tomcat サーバーはポート 8080 で実行されていますが、localhost/ROOT を実行すると、エラー 500 内部サーバー エラーが発生します。

の最後のエントリerror_logは次のとおりです。

[Thu Jul 04 14:17:00.097359 2013] [proxy:warn] [pid 18980:tid 4476780544] [client 127.0.0.1:50525] AH01144: URL /ROOT に対して有効なプロトコル ハンドラがありませんでした。mod_proxy の DSO バージョンを使用している場合は、LoadModule を使用してプロキシ サブモジュールが構成に含まれていることを確認してください。
の最後のエントリaccess_logは次のとおりです。
127.0.0.1 - - [04/Jul/2013:14:17:00 -0400] "GET /ROOT HTTP/1.1" 500 528

私がここで間違っていることについて何か考えはありますか?

4

3 に答える 3

99

そのため、時間はかかりましたが、私はそれを行う方法を考え出しました。ロードする必要があるモジュールがもう 1 つあります。httpd.conf は次のようになります。

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

<Directory />
    AllowOverride none
    Require all denied
</Directory>

ProxyPass         /ROOT  http://localhost:8080/ROOT
ProxyPassReverse  /ROOT  http://localhost:8080/ROOT

これは確実に機能します。:)

于 2013-07-04T19:07:23.267 に答える
68

見落としやすいので、@mukaさんのコメントに注目してください。

sudo a2enmod proxy  
sudo a2enmod proxy_http  
sudo service apache2 restart

モジュールproxyproxy_http!の両方を有効にしてください。

于 2014-09-25T15:44:51.757 に答える