嗨,我在 7070 端口(非 ssl)上创建了 ALB 侦听器 443 和目标组实例
我可以毫无问题地访问 instanceip:7070,但是https://elb-dns-name无法访问.. 实例运行状况检查也因 302 代码而失败
ALB 侦听器端口 https 和实例是 http 协议,
当我使用https://dns-name浏览时,它会重定向到http://elb-dns-name
嗨,我在 7070 端口(非 ssl)上创建了 ALB 侦听器 443 和目标组实例
我可以毫无问题地访问 instanceip:7070,但是https://elb-dns-name无法访问.. 实例运行状况检查也因 302 代码而失败
ALB 侦听器端口 https 和实例是 http 协议,
当我使用https://dns-name浏览时,它会重定向到http://elb-dns-name
执行 URL 重定向时得到 302,任何 ELB 健康检查都会寻找成功代码 200 以通过健康检查。在 ALB 中,这可以在 ELB 控制台的健康检查下进行配置。
使用控制台修改目标组的健康检查设置
Success Codes
为 302 或根据需要,然后选择 Save。在您的入口控制器中添加此注释它将修改成功代码并且节点将处于健康状态。
alb.ingress.kubernetes.io/success-codes: 200,404,301,302
我最近遇到了同样的问题,正如@SudharsanSivasankaran 所建议的,我们已经在目标级别编辑了健康检查设置。
但是我们只保留了 200 状态码,而是更新了路径以直接点击重定向所要访问的页面。
例如,如果在 instance:80 下托管的网站需要用户登录并将其重定向到 /login 页面,我们需要做的就是在健康检查中添加 /login 路径。