当 tomcat6 启动时,我的所有 http 请求都由服务器保留,并在服务器启动时发送响应。
但是当我使用 apache2 作为代理时,当 tomcat 启动时,apache2 立即响应 503 错误。我该如何防止 apache 代理的这种默认行为?
我的 apache 虚拟主机配置如下:
<VirtualHost 0.0.0.0:[PORT]>
ProxyPreserveHost On
ProxyVia full
<proxy>
Order deny,allow
Allow from all
</proxy>
ProxyPass /[PATH] http://localhost:8080/[PATH2]
ProxyPassReverse /[PATH] http://localhost:8080/[PATH2]
</VirtualHost>
答案1
我有一个可行的解决方案,但我并不 100% 满意。这似乎适用于 httpd 版本 2.2.22。
ProxyRequests Off
ProxyPreserveHost On
<Proxy balancer://mycluster>
BalancerMember http://localhost:8080
</Proxy>
ProxyPass / balancer://mycluster/ maxattempts=1000
ProxyPassReverse / balancher://mycluster/
平衡器参数maxattempts
设置平衡器在循环平衡器成员并在它们失败时向它们发送请求时将使用的尝试次数。我宁愿有一个带有超时的解决方案,但我没有找到除此以外的任何有效方法maxattempts
。