绑定Cloudflare的网站可通过Google Cloud静态公网IP访问是否正常?
问题解答:域名接入Cloudflare后仍可通过服务器公网IP访问网站是否正常?
这种情况完全正常,原因如下:
- 你的Google Cloud虚拟机本身分配了静态公网IP,且Web服务(如Nginx、Apache)默认会监听服务器的所有网卡(即
0.0.0.0),只要GCP防火墙规则开放了80/443端口,任何人知道这个公网IP就能直接访问服务器上的网站,和Cloudflare的接入没有直接关联。 - Cloudflare的作用是作为反向代理,将域名的访问流量先导向Cloudflare的节点,再由节点转发到你的服务器IP,但它不会主动修改你服务器的监听规则或防火墙配置。
如果你想禁止通过公网IP直接访问网站,可以参考以下几种方案:
- 配置Web服务器拦截IP请求:以Nginx为例,新增一个默认server块,专门处理IP访问的请求,返回403禁止访问或跳转到你的域名:
server { listen 80 default_server; listen 443 ssl default_server; server_name _; # 匹配所有未被其他server块匹配的请求 return 403; # 或者用 return 301 https://tempvalidasi1.site$request_uri; 跳转域名 } - 限制GCP防火墙规则:在GCP控制台的防火墙设置中,修改Web端口(80/443)的入站规则,只允许Cloudflare官方公布的IP段访问,拒绝其他所有来源的请求。
- 启用Cloudflare源站认证:开启Cloudflare的「Authenticated Origin Pulls」功能,让服务器只接受携带Cloudflare认证证书的请求,从源头上阻断非Cloudflare的直接访问。
内容的提问来源于stack exchange,提问作者bauuu tai
相关产品推荐
相关产品推荐

