如何通过 HTTPS 对负载均衡器后面的主机进行健康检查?

如何通过 HTTPS 对负载均衡器后面的主机进行健康检查?

我在 Elastic Load Balancer 后面的 EC2 主机上通过 HTTPS 为我的网站提供 NGINX 服务。我需要在 ELB 中设置适当的健康检查。但是,我无法使用https://www.example.com因为我需要对主机进行健康检查,而不是我的网站。另一方面,我不能使用https://ec2host.amazonaws.com因为 SSL 证书仅对我的域名 (example.com) 有效。因此,我最终使用了 TCP 端口 80 检查,这实际上是最低限度。

如何在 ELB 中配置适当的健康检查来测试给定主机是否通过 HTTPS 正确提供我的网站?

答案1

我设法使用类似这里描述的方法来实现这一点:http://scottwb.com/blog/2013/10/28/always-on-https-with-nginx-behind-an-elb/

在 NGINX 配置中,我添加了:

  1. 针对健康检查 URL(“/healthcheck”)的特定位置指令不执行任何 HTTPS 强制执行。
  2. 如果“X-Forwarded-Proto: https”标头不存在,则重定向。

相关内容