在 Apache 2.4 中配置反向代理

在 Apache 2.4 中配置反向代理

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

相关内容