我在Apache2上运行了一个Web应用程序(2.4) 我正在将主页和整个网站(/ *)重定向到另一个网址,某种身份验证,然后返回主页
所以在我的apache2位置指令
中...
<Location "/">
AuthType AuthAgent
Require valid-user
Satisfy any
</Location>
...
因此,知道ELB的健康检查失败,因为主页被用作健康检查的终点。
我该怎么做才能让ELB在重定向发生时通过healthcehck。重定向是302
我只是希望ELB说传递302或者我可以通过健康检查传递
由于
答案 0 :(得分:0)
经典ELB只会将200响应视为成功。其他一切都是健康检查失败(包括302)。
来源:http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-healthchecks.html(参见&#34; Ping路径&#34;)
您有两个选择:
选项1:切换为使用应用程序负载均衡器。通过执行此操作,您可以将其配置为接受302作为运行状况检查成功。
选项2:向您的Web服务器添加非重定向URL,专门用于运行状况检查。所以你会得到像/healthcheck.html
这样的东西,返回200成功,其他一切返回重定向302。
答案 1 :(得分:0)
以下是我为完美解决问题所做的工作!
我将正则表达式添加到location指令中,以便重定向除了某些URL之外的所有URL我不想重定向
...
<Location ~ "^((?!/status).)*$">
AuthType AuthAgent
Require valid-user
Satisfy any
</Location>
...
所以它会重定向除/status/