GCP:仅允许来自负载均衡器的 Public 入口 Web 流量
GCP: Allowing Public Ingress Web Traffic from the Load Balancer ONLY
免责声明:我有 AWS 背景,但对 GCP 比较陌生。我知道有许多现有的类似问题(例如,here and here 等),但我仍然无法解决它,因为 exact/detailed 指令仍然缺失。所以请耐心等待我再问一次。
我的简单设计:
Public HTTP/S Traffic (Ingress) >> GCP Load Balancer >> GCP Servers
GCP 负载均衡器持有 SSL 证书。然后它使用端口 80 与服务器进行下游连接。因此,LB 到服务器只是 HTTP。
我的问题:
如何防止传入的 HTTP/S Public 流量直接到达 GCP 服务器?相反,只允许负载均衡器(以及它的健康检查流量)?
到目前为止我尝试了什么:
我进入防火墙规则并从 0.0.0.0/0
中删除了先前允许端口 80/443(入口流量)的规则。然后,添加(允许)负载均衡器的外部 IP 地址。
在这一点上,我只是希望 Public 流量应该被拒绝,但负载均衡器的。但实际上,两者似乎都被拒绝了。什么都没有到达服务器了。似乎无法识别负载均衡器的外部 IP。
后来我也注意到 "Healthchecks" 也不再被识别了。因此 Healthchecks 无法到达服务器然后失败。因此实例被负载均衡器丢弃。
另请注意:我无法追求简单地删除服务器上的外部 IP 的方法。 (虽然很多人说这会起作用。)但我们仍然希望保持对服务器的直接 SSH 访问(不使用堡垒实例)。因此,我仍然需要每个 Web 服务器上的外部 IP。
任何清晰(和善意)的指示将不胜感激。谢谢大家
您可以在使用 HTTP(S) load balancer 时在负载平衡器和后端服务器之间设置 HTTPS 连接。为实现此目标,您应该在后端服务器上安装 HTTPS 证书并配置 Web 服务器以使用它们。如果您决定完全切换到 HTTPS 并在后端服务器上禁用 HTTP,您也应该将健康检查从 HTTP 切换到 HTTPS。
要在删除允许从 0.0.0.0/0
连接到端口 80 和 443 的默认防火墙规则 后再次进行健康检查,您需要将子网列入白名单 35.191.0.0/16
130.211.0.0/22
是用于健康检查的源 IP 范围。您可以在 documentation 中找到如何操作的分步说明。之后,对您的 Web 服务器的访问仍然受到限制,但您的负载均衡器将能够使用健康检查并为您的客户提供服务。
免责声明:我有 AWS 背景,但对 GCP 比较陌生。我知道有许多现有的类似问题(例如,here and here 等),但我仍然无法解决它,因为 exact/detailed 指令仍然缺失。所以请耐心等待我再问一次。
我的简单设计:
Public HTTP/S Traffic (Ingress) >> GCP Load Balancer >> GCP Servers
GCP 负载均衡器持有 SSL 证书。然后它使用端口 80 与服务器进行下游连接。因此,LB 到服务器只是 HTTP。
我的问题:
如何防止传入的 HTTP/S Public 流量直接到达 GCP 服务器?相反,只允许负载均衡器(以及它的健康检查流量)?
到目前为止我尝试了什么:
我进入防火墙规则并从 0.0.0.0/0
中删除了先前允许端口 80/443(入口流量)的规则。然后,添加(允许)负载均衡器的外部 IP 地址。
在这一点上,我只是希望 Public 流量应该被拒绝,但负载均衡器的。但实际上,两者似乎都被拒绝了。什么都没有到达服务器了。似乎无法识别负载均衡器的外部 IP。
后来我也注意到 "Healthchecks" 也不再被识别了。因此 Healthchecks 无法到达服务器然后失败。因此实例被负载均衡器丢弃。
另请注意:我无法追求简单地删除服务器上的外部 IP 的方法。 (虽然很多人说这会起作用。)但我们仍然希望保持对服务器的直接 SSH 访问(不使用堡垒实例)。因此,我仍然需要每个 Web 服务器上的外部 IP。
任何清晰(和善意)的指示将不胜感激。谢谢大家
您可以在使用 HTTP(S) load balancer 时在负载平衡器和后端服务器之间设置 HTTPS 连接。为实现此目标,您应该在后端服务器上安装 HTTPS 证书并配置 Web 服务器以使用它们。如果您决定完全切换到 HTTPS 并在后端服务器上禁用 HTTP,您也应该将健康检查从 HTTP 切换到 HTTPS。
要在删除允许从 0.0.0.0/0
连接到端口 80 和 443 的默认防火墙规则 后再次进行健康检查,您需要将子网列入白名单 35.191.0.0/16
130.211.0.0/22
是用于健康检查的源 IP 范围。您可以在 documentation 中找到如何操作的分步说明。之后,对您的 Web 服务器的访问仍然受到限制,但您的负载均衡器将能够使用健康检查并为您的客户提供服务。