mod_proxy_hcheck 导致 apache-2.4 启动崩溃

mod_proxy_hcheck 导致 apache-2.4 启动崩溃

我想使用 Apache 2.4.43 (windows) 和两个 Tomcats 服务器创建一个负载平衡环境。
使用“mod_proxy_hcheck”模块应该实现一些基本的健康检查操作,这些操作基于官方文档:https://httpd.apache.org/docs/2.4/mod/mod_proxy_hcheck.html

我的配置

ProxyHCExpr ok2 {%{REQUEST_STATUS} =~ /^[2]/}
<Proxy balancer://appcluster>
    BalancerMember http://localhost:8080/app-SNAPSHOT route=server1 secret=1337 hcmethod=HEAD hcexpr=ok2 hcinterval=10 hcpasses=2 hcfails=3
    BalancerMember http://localhost:9090/app-SNAPSHOT route=server2 secret=1337 hcmethod=HEAD hcexpr=ok2 hcinterval=10 hcpasses=2 hcfails=3
    ProxySet lbmethod=byrequests
    ProxySet stickysession=JSESSIONID|jsessionid
</Proxy>
ProxyPass /app-SNAPSHOT balancer://appcluster
ProxyPassReverse /app-SNAPSHOT balancer://appcluster

我的问题:每当我使用 mod_proxy_hcheck 文档中记录的任何参数时,我的服务器都无法启动。Winodws 事件查看器中记录了以下错误消息,名为 Apache 的服务报告了以下错误:

无效命令“ProxyHCExpr”,可能是拼写错误或由服务器配置中未包含的模块定义。

我已经尝试过并删除了那些mod_proxy_hcheck相关参数ProxyHCExpr, hcfails, hcpasses, hcinterval, hcexpr, hcmethod,但是只要激活一个,服务就会在启动时崩溃。

我尝试过/搜索过的内容:

  • mod_proxy_hcheck我在我的文件中搜索了该模块httpd.conf,但它没有列在这里。所以我检查了<apacheInstallDir>\modules:该文件mod_proxy_hcheck.so存在
  • 我已将该行添加LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so到我的httpd.conf,但服务启动失败。

还有什么想法吗?

答案1

确保文件LoadModule watchdog_module modules/mod_watchdog.so中也包含httpd.conf
官方文档中也提到了这一点https://httpd.apache.org/docs/2.4/mod/mod_proxy_hcheck.html#Summary请参阅“摘要”部分。

相关内容