重定向端点的ELB运行状况检查

时间:2017-12-14 22:21:50

标签: apache amazon-web-services redirect amazon-elb

我在Apache2上运行了一个Web应用程序(2.4) 我正在将主页和整个网站(/ *)重定向到另一个网址,某种身份验证,然后返回主页

所以在我的apache2位置指令

...
<Location "/">
        AuthType AuthAgent
        Require valid-user
        Satisfy any
</Location>
...

因此,知道ELB的健康检查失败,因为主页被用作健康检查的终点。

我该怎么做才能让ELB在重定向发生时通过healthcehck。重定向是302

我只是希望ELB说传递302或者我可以通过健康检查传递

由于

2 个答案:

答案 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/

之外的所有内容