我在公共 vpc 子网中配置了一个负载均衡器,用于通过 HTTP (8080) 将流量从 HTTPS (443) 路由到私有 vpc 子网中的实例。该设置运行良好约 24 小时,直到实例上的 java 进程崩溃。此时,健康检查开始失败,实例开始显示为不健康。
此后,我重新启动了该过程,并且可以在 EC2 实例上本地发出本地“curl”请求,也可以从我在公共子网(与负载均衡器相同的子网)中的 NAT 实例发出请求。尽管实例处于健康状态,但负载均衡器仍将其显示为不健康。
对我来说特别奇怪的是,EC2 实例上的访问日志不再显示任何来自负载均衡器访问健康检查 URL 的尝试。我启用了负载均衡器到 S3 存储桶的日志记录,但这只显示了一个带有 503 错误代码的 GET 请求。我尝试从负载均衡器中取消注册实例并重新注册它,但这没有任何区别。停止并启动实例并将其重新注册到负载均衡器也没有任何区别
知道为什么负载均衡器甚至没有尝试访问实例吗?
谢谢您的任何建议!
答案1
.htaccess
这也可能是您的公共 html 文件夹中的规则存在问题。您的.htaccess
文件夹是否重写到文件夹?
这对我来说也是一个问题,默认健康检查设置为http:80/index.php
但我的重写是针对服务器上的一个文件夹。因此它给出的状态为不健康。
尽管我想保留我的重写.htacess on
,但删除.htacess
规则允许 elb ping 我的公共 html 文件夹并将实例声明为健康的。
如果有帮助请告诉我。谢谢