【发布时间】:2016-10-29 16:16:53
【问题描述】:
是否可以将 Azure 流量管理器配置为轮询需要授权标头的端点?我们为健康检查开发的端点启用了身份验证,这需要在请求标头中传递凭据。
【问题讨论】:
标签: azure azure-web-app-service azure-traffic-manager
是否可以将 Azure 流量管理器配置为轮询需要授权标头的端点?我们为健康检查开发的端点启用了身份验证,这需要在请求标头中传递凭据。
【问题讨论】:
标签: azure azure-web-app-service azure-traffic-manager
目前Traffic Manager 无法探测身份验证墙后面的 URI。 Basic HTTP authentication 也是如此。
即如果您使用重定向响应,
HTTP/1.1 302 Found
Location: https://token.service
Traffic Manager 会将您的端点标记为不健康,因为它期望返回 200 OK。
您需要一个不需要身份验证的页面/控制器/路由/whathaveyou,并将200 OK 返回给流量管理器探测。
例如http://example.com/health
将所有健康逻辑放入其中 - 例如,您可以检查您的数据库和 Redis 缓存是否健康,然后返回 200 OK,否则返回 5xx。
来自https://azure.microsoft.com/en-gb/documentation/articles/traffic-manager-monitoring/:
注意:
流量管理器仅在返回消息为 200 OK 时才认为端点在线。当发生以下任何事件时,端点是不健康的:
- 收到非 200 响应(包括不同的 2xx 代码或 301/302 重定向)
【讨论】: