我被配置问题难住了,希望有人能帮我解决。我有一个位于 ELB 后面的 EC2 实例,但似乎无法将该实例投入使用。如果我删除 ELB,我可以正常连接到状态检查 URL。以下是详细信息:
- EC2 实例和 ELB 位于同一 VPC 中
- ELB 属于允许
:443
从任何地方访问的安全组(0.0.0.0/0)。 - ELB 端口配置为:
443 (HTTPS, ACM Certificate: xxx) forwarding to 80 (HTTP)
- 我可以通过 telnet 连接到 ELB
:443
。 - EC2 实例属于一个安全组,该安全组允许
:22
从任何地方访问,并允许:80
从 ELB 安全组访问。 - 我尝试开放
:80
EC2 实例的访问权限,但没有什么变化。 - 当访问打开时,我可以直接连接到 EC2 实例
:80
(telnet 或 http):80
,但该实例仍然无法为 ELB 提供服务。
没有任何迹象表明 ELB 能够连接到 EC2 实例。跟踪我的 nginx 访问日志显示,我的健康检查 URL 没有 ELB 生成的请求。
知道我可能遗漏了什么或者可能需要检查什么吗?
答案1
首先,您应该检查 ELB 中的健康检查配置。配置错误可能会导致此类后果。
您也可以尝试在 EC2 实例的设置中禁用源/目标检查。
答案2
各位,我错了。我完全地忘记了 ELB 通过其实例的内部 IP 地址执行健康检查请求(例如http://XXX.XXX.XXX.XXX/status
)。我的 Web 服务器没有监听该特定 IP 上的任何内容。哎呀。