我正在尝试让 ProxyPass 在我的 OpenSUSE 13.1 安装上运行。
我努力了:
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_connect
systemctl restart apache2
systemctl reload apache2
(所有语句组合都无济于事)。
我一次又一次地遇到同样的错误:
SERVER:/etc/apache2 # apache2ctl start -f /etc/apache2/httpd-proxy.conf
AH00526: Syntax error on line 4 of /etc/apache2/httpd-proxy.conf:
Invalid command 'ProxyPass', perhaps misspelled or defined by a module not included in the server configuration
httpd-proxy.conf 如下所示:
<VirtualHost *:80>
DocumentRoot /srv/www/subsite
ServerName www.site.com/subsite
ProxyPass /subsite/ http://localhost:81
ProxyPassReverse /subsite/ http://localhost:81
</Virtualhost>
有人知道如何使这个 ProxyPass 语句起作用吗?
答案1
它看起来好像proxy_http_module
没有被加载,请确保你的文件中有以下内容httpd.conf
:
LoadModule proxy_http_module modules/mod_proxy_http.so
答案2
确保 mod_proxy 已启用,并且已在 mod_proxy_http 之前加载。Apache 不支持模块的依赖管理,因此必须按适当的顺序启用它们。