当AWS负载均衡器的健康检查失败并显示错误代码[301]时,这表示在执行健康检查时发生了重定向错误。以下是解决此问题的可能方法之一:
检查目标组的目标类型:确保目标组的目标类型与实际目标的类型匹配。例如,如果目标组的目标类型为“实例”,则确保实际目标是EC2实例。
检查目标组的协议和端口:确保目标组的协议和端口与实际目标的协议和端口匹配。例如,如果目标组的协议为HTTP,端口为80,则确保实际目标的协议和端口也为HTTP和80。
检查目标组的健康检查路径:确保目标组的健康检查路径与实际目标的可用路径匹配。例如,如果目标组的健康检查路径为“/health”,则确保实际目标的可用路径也为“/health”。
以下是使用AWS CLI进行健康检查配置的示例命令:
aws elbv2 configure-health-check --region --load-balancer-arn --health-check-protocol HTTP --health-check-port 80 --health-check-path /health --healthy-threshold-count 2 --unhealthy-threshold-count 2 --timeout-seconds 5 --interval-seconds 10
请确保替换以下参数:
:AWS区域的名称,例如“us-west-2”。
:负载均衡器的Amazon资源名称(ARN)。通过运行上述命令,您可以配置负载均衡器的健康检查设置,包括协议,端口,健康检查路径,健康阈值等。确保这些设置与您的实际目标匹配,并且健康检查成功后,错误代码[301]应该不再出现。