Security GCP:仅允许来自负载平衡器的公共入口Web流量
免责声明:我来自AWS背景,但对GCP来说相对来说是非常新的。我知道存在许多类似的问题(例如,等),但我仍然无法使其正常工作,因为仍然缺少准确/详细的说明。所以请容忍我再次问这个问题 我的简单设计: 公共HTTP/S流量(入口)>GCP负载平衡器>>GCP服务器 GCP负载平衡器持有SSL证书,然后使用端口80进行到服务器的下游连接。因此,到服务器的LB只是HTTP 我的问题: 如何防止传入的HTTP/SPublic流量直接到达GCP服务器?相反,只允许负载平衡器(以及它的Healthcheck流量) 到目前为止我所尝试的: 我进入防火墙规则,并从Security GCP:仅允许来自负载平衡器的公共入口Web流量,security,google-cloud-platform,google-compute-engine,load-balancing,firewall,Security,Google Cloud Platform,Google Compute Engine,Load Balancing,Firewall,免责声明:我来自AWS背景,但对GCP来说相对来说是非常新的。我知道存在许多类似的问题(例如,等),但我仍然无法使其正常工作,因为仍然缺少准确/详细的说明。所以请容忍我再次问这个问题 我的简单设计: 公共HTTP/S流量(入口)>GCP负载平衡器>>GCP服务器 GCP负载平衡器持有SSL证书,然后使用端口80进行到服务器的下游连接。因此,到服务器的LB只是HTTP 我的问题: 如何防止传入的HTTP/SPublic流量直接到达GCP服务器?相反,只允许负载平衡器(以及它的Healthcheck
0.0.0.0/0
中删除了先前允许的端口80/443(入口流量)规则。然后,添加(允许)负载平衡器的外部IP地址
在这一点上,我只是希望公共交通应该被拒绝,但负载平衡器的。但事实上,两者似乎都被拒绝了。服务器再也没有收到任何东西。负载平衡器的外部IP似乎未被识别
后来我也注意到“健康检查”也不再被识别。因此,Healthchecks无法访问服务器,然后失败。因此,负载平衡器会删除这些实例
还请注意:我不能简单地删除服务器上的外部IP。(尽管许多人说这会起作用。)但我们仍然希望保持对服务器的直接SSH访问(不使用Bastion实例)。因此,我仍然需要每个Web服务器上的外部IP
任何明确(和亲切)的指示将不胜感激。谢谢大家。您可以在使用时在负载平衡器和后端服务器之间设置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范围。您可以在中找到如何执行此操作的分步说明。在此之后,对web服务器的访问仍然受到限制,但负载平衡器将能够使用健康检查并为您的客户提供服务。仅需确认,您已经创建了一个入口防火墙规则,允许来自35.191.0.0/16
和130.211.0.0/22
IP范围的流量通过标记指向您的VM实例,我说的对吗?@LundinCast谢谢。就是这样!哦,我所缺少的只是两个35.191.0.0/16
和130.211.0.0/22
IP!我认为我们需要使用负载平衡器的实际外部IP本身。但显然不是。在允许这两个选项后,然后删除0.0.0.0/0
,一切都可以正常工作!非常感谢你。