Gcloud负载均衡器HTTPS配置后,后端VM 80端口仍可访问的问题求助
解决GCP后端VM及数据库不安全访问的方案
一、限制VM公网端口访问
- 移除VM外部IP:既然负载均衡已接管所有外部流量,直接删除VM的外部IP,让VM仅通过内部网络与负载均衡通信,彻底切断公网直接访问路径。
- 配置VPC防火墙规则:
- 删除允许所有来源访问VM 80端口的规则,仅放行GCP负载均衡的代理IP段(
130.211.0.0/22、35.191.0.0/16)访问VM的80端口。 - 针对数据库端口(默认3306),仅允许VM自身内部IP或本地回环地址访问,禁止任何公网来源的请求。
- 删除允许所有来源访问VM 80端口的规则,仅放行GCP负载均衡的代理IP段(
二、强制WordPress全站HTTPS跳转
- 修改WordPress核心配置:编辑VM上的
wp-config.php文件,添加以下代码锁定站点URL:define('WP_HOME','https://thescanclub.com'); define('WP_SITEURL','https://thescanclub.com'); - 配置Web服务器跳转规则:以Nginx为例,在服务器配置块中添加80端口转HTTPS的规则,避免明文访问:
Apache可通过server { listen 80; server_name _; return 301 https://thescanclub.com$request_uri; }.htaccess配置类似跳转规则,确保所有HTTP请求强制转向HTTPS域名。
三、数据库安全加固
- 若为VM自建MySQL:
- 修改
my.cnf配置文件,将bind-address设为127.0.0.1或VM内部IP,禁止MySQL监听公网地址。 - 删除所有允许
%(任意IP)访问的数据库账号,仅保留localhost或内部IP可访问的账号,并设置强密码。
- 修改
- 若使用Cloud SQL:
- 关闭公网访问,启用私有IP并通过VPC对等连接与VM通信。
- 配置IAM权限,仅允许VM关联的服务账号访问数据库实例。
四、可选:重构为私有子网+托管实例组
如果允许重新创建VM,可将VM部署在私有子网内(仅分配内部IP),使用托管实例组关联负载均衡。这种架构下VM完全不暴露在公网中,安全等级更高,也更符合GCP最佳实践。
内容的提问来源于stack exchange,提问作者TGanoe
相关产品推荐
相关产品推荐

