ELB 无法将流量代理到我的 EC2 实例

ELB 无法将流量代理到我的 EC2 实例

由于某种原因,ELB 无法正确地将请求转发到 EC2 上的我的实例。

我的设置只是一个micro带有nginx/ 的实例node,监听端口80443。该实例完美地通过 ELB 获取健康检查器请求。

10.185.1.190 - - [01/Oct/2013:15:26:18 +0000] "GET / HTTP/1.1" 302 40 "-" "ELB-HealthChecker/1.0"

10.185.1.190 - - [01/Oct/2013:15:26:48 +0000] "GET / HTTP/1.1" 302 40 "-" "ELB-HealthChecker/1.0"

10.185.1.190 - - [01/Oct/2013:15:27:18 +0000] "GET / HTTP/1.1" 302 40 "-" "ELB-HealthChecker/1.0"

10.185.1.190 - - [01/Oct/2013:15:27:48 +0000] "GET / HTTP/1.1" 302 40 "-" "ELB-HealthChecker/1.0"

10.185.1.190 - - [01/Oct/2013:15:28:18 +0000] "GET / HTTP/1.1" 302 40 "-" "ELB-HealthChecker/1.0"

10.185.1.190 - - [01/Oct/2013:15:28:48 +0000] "GET / HTTP/1.1" 302 40 "-" "ELB-HealthChecker/1.0"

10.185.1.190 - - [01/Oct/2013:15:29:18 +0000] "GET / HTTP/1.1" 302 40 "-" "ELB-HealthChecker/1.0"

10.185.1.190 - - [01/Oct/2013:15:29:48 +0000] "GET / HTTP/1.1" 302 40 "-" "ELB-HealthChecker/1.0"

10.185.1.190 - - [01/Oct/2013:15:30:18 +0000] "GET / HTTP/1.1" 302 40 "-" "ELB-HealthChecker/1.0"

但是直接通过浏览器请求根本不起作用。

需要注意的是,我的例子可直接访问,通过其 IP。SG 配置为允许两个端口上的任何连接,ELB 只是将它们代理到实例。

ELB 报告实例是Out of Service

健康检查:

Ping Target: HTTP:80/
Timeout: 5 seconds
Interval: 30 seconds
Unhealthy Threshold: 2
Healthy Threshold: 10

HTTP 和 HTTPS 均不适用于 ELB,但均适用于实例。

显然,在我的nginx日志中尝试请求 ELB 实例时我没有得到任何内容。curl报告:

HTTP/1.1 503 服务不可用:后端服务器已满

哈尔普

答案1

您的服务器返回 302(重定向)响应代码,而 ELB 会查找 200 响应代码以考虑服务中的实例。您需要让健康检查查看未重定向的页面。

相关内容