我在尝试为ELB运行状况检查实现基本身份验证时遇到问题。我已经搜索了相当多的nginx文件配置,以避免下面显示的401错误,ELB由于基本身份验证而返回unhealthy in target-group hogehoge due to (reason Health checks failed with these codes: [401])
我已经尝试修改nginx.conf来避免它,但它不起作用。下面的代码给出了[emerg] "server" directive is not allowed here
错误。
http {
server {
location / {
if (!$http_x_forwarded_for) {
auth_basic 'Please enter ID and password';
auth_basic_user_file /usr/src/redmine/.htpasswd;
}
}
}
}
如何避免由于基本身份验证而导致的ELB运行状况检查401错误?
谢谢你的帮助
2条答案
按热度按时间ctzwtxfj1#
最简单的方法是为ELB创建一个位置,例如:
您只需要将
Ping Path
更改为/elb-status
如果你想在测试时在浏览器上看到一些东西,你可能需要更改
content-type
,因为默认值为application/octet-stream
,浏览器将提供保存文件,所以类似这样的东西应该可以工作:如果你想检查user-agent,可以使用如下方法:
1wnzp6jl2#
为什么不使用401状态代码作为您的成功健康检查??
这意味着您的服务正在请求基本的认证...换句话说,服务是可用的。
ELB允许您指定预期的https状态代码。“高级运行状况检查设置”