小编典典

Apache 代理:没有有效的协议处理程序

all

我正在尝试将子目录代理到另一台服务器。我的 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。

我怎样才能解决这个问题?


阅读 105

收藏
2022-05-31

共1个答案

小编典典

如果您没有mod_proxy_http启用,可能会发生这种情况

sudo a2enmod proxy_http

为了让我的基于 https 的负载均衡器正常工作,我必须启用以下功能:

sudo a2enmod ssl
sudo a2enmod proxy
sudo a2enmod proxy_balancer
sudo a2enmod proxy_http
2022-05-31