apache2
我在故障转移迁移期间从 2.2.x升级到了 2.4.23。
当我尝试使用以前的配置启动服务器时,我无法使其工作。
我的默认主机包含Proxy
指令,这些指令会引导应用程序安装在生产服务器上的不同端口上。因此,Apache 服务器基本上为多个应用程序提供了一个网关,每个应用程序都安装在自己的 (Tomcat) 运行时上。
在default-server.conf
我有
ProxyPass "/jira" "http://localhost:9090/jira" connectiontimeout=5 timeout=30
ProxyPassReverse "/jira" "http://localhost:9090/jira"
ProxyPreserveHost on
ProxyPass /artifactory http://localhost:8081/artifactory
ProxyPassReverse /artifactory http://localhost:8081/artifactory
Apache 将从这些行的第一行开始失败
Starting httpd (prefork) AH00526: Syntax error on line 202 of /etc/apache2/vhosts.d/default.include:
Invalid command 'ProxyPass', perhaps misspelled or defined by a module not included in the server configuration
The command line was:
/usr/sbin/httpd-prefork -f /etc/apache2/httpd.conf
但 mod 代理已启用
从/etc/sysconfig/apache2
:
APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 reqtimeout mod_dav mod_dav_fs mod_proxy authz_core"
此外,运行apache2ctl -M
显示模块会返回这个有趣的宝石
# apache2ctl -M
AH00526: Syntax error on line 202 of /etc/apache2/vhosts.d/default.include:
Invalid ProxyPass|ProxyPassMatch parameter. Parameter must be in the form 'key=value'.
如何让我的反向代理再次工作?操作系统是 SLES 11 SP4
答案1
您需要启用 mod_proxy_http;请检查https://httpd.apache.org/docs/current/mod/mod_proxy.html#proxyrequests。