【发布时间】:2014-07-18 21:05:42
【问题描述】:
我正在尝试将子目录代理到另一台服务器。我的 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
(我知道我不需要所有这些,但我只是激活它们以确保我没有错过任何一个)
但此错误仍然出现,客户端收到 HTTP 500。
我该如何解决这个问题?
【问题讨论】:
-
似乎需要一些 HTTPS 处理程序来处理代理请求。改用 HTTP...
-
我认为你需要
mod_ssl和SSLProxyEngine和ProxyPass -
@Deadooshka 是的,这是有效的。如果您将此作为答案发布,我可以接受
标签: apache httpd.conf apache2.4 apache-modules protocol-handler