232

サブディレクトリを別のサーバーにプロキシしようとしています。私のhttpd.conf:

RewriteEngine On
ProxyPreserveHost On
RewriteRule .*subdir/ https://anotherserver/subdir/ [P]

問題は、Apache が常にこれをログに記録していることです。

AH01144: No protocol handler was valid for the URL /subdir/. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule., referer: http://localhost/

インターネットを検索した後、これらのモジュールを有効にしました。

LoadModule headers_module modules/mod_headers.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_express_module modules/mod_proxy_express.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule rewrite_module modules/mod_rewrite.so

(すべてが必要なわけではないことはわかっていますが、1つも欠けていないことを確認するためにアクティブ化しました)

ただし、このエラーは引き続き表示され、クライアントは HTTP 500 を受け取ります。

どうすればこれを修正できますか?

4

9 に答える 9

23

Apache2.4 + php5-fpm のインストールを開始するには、次の Apache モジュールを有効にする必要がありました。

sudo a2enmod proxy
sudo a2enmod proxy_fcgi

は必要ありませんproxy_http。これにより、すべての.phpファイルが直接 php5-fpm に送信されます。

<FilesMatch \.php$>
    SetHandler "proxy:unix:/var/run/php5-fpm.sock|fcgi://localhost"
</FilesMatch>
于 2015-11-03T15:09:18.813 に答える