Google Cloud HTTP负载均衡器无法连接到我的实例

时间:2016-02-10 09:48:42

标签: google-compute-engine

我创建了一个HTTP负载均衡器,基本上从端口80重定向到端口8080.我的实例上的服务器正在端口8080上运行。 我可以直接连接到服务器,但LB无法连接到实例,直接访问LB的IP,健康检查也总是失败。 LB正在使用的实例组仅由该单个实例组成。

我看了Google Compute Engine health checks failing 并且google-address-manager正在运行。但是,当运行ip route table list local时,我的LB没有路由。上面问题中的用户正在使用网络负载平衡而不是HTTP负载平衡(就像我一样)所以我不知道这是否相关?

或许它与防火墙有关?我已将LB的ip地址添加到允许tcp:8080

的防火墙规则中

anybode有什么想法我该如何解决这个问题?我对debian和gcp没有经验。 显示我只是尝试运行上述问题中引用的route add命令?如果是这样,谷歌地址管理员怎么没有添加路线?

提前谢谢!

3 个答案:

答案 0 :(得分:3)

您需要确保将实例组上的端口映射设置为正确的端口,在您的情况下为8080。

首先,编辑实例组并将端口名称和端口更改为8080: enter image description here

然后,导航到您的http后端设置,并将默认端口更改为您在实例组中配置的端口名称。

enter image description here

最后,确保您的防火墙规则允许从0.0.0.0/0或至少从HTTP负载均衡器的IP地址(130.211.0.0/22)访问端口8080

答案 1 :(得分:3)

我有同样的问题并通过为健康检查程序添加防火墙规则来修复它(与您的LB相同的IP!)。有关说明,请参阅https://cloud.google.com/compute/docs/load-balancing/health-checks?hl=en_US#http_and_https_load_balancing

答案 2 :(得分:0)

就我而言,我没有正确配置HTTP health check

我使用“ /”作为 path ,但是在我的后端,“ /”重定向到登录页面(HTTP 301),并以HTTP 200进行响应。

运行状况检查不会遵循重定向,每个HTTP响应代码!= 200都被认为是不健康的(来自Debugging Health Checks in Load Balancing on Google Compute Engine)。

因此,我将 path 更改为“ / login”,这解决了我的问题。