登录
首页 >  文章 >  php教程

如何利用宝塔面板隐藏服务器真实IP_配合Cloudflare设置

时间:2026-05-03 14:25:38 401浏览 收藏

文章不知道大家是否熟悉?今天我将给大家介绍《如何利用宝塔面板隐藏服务器真实IP_配合Cloudflare设置》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

Cloudflare 代理是否生效?先看响应头 cf-ray 和 server:cf-ray 存在说明经 Cloudflare,server 显示 nginx/openresty 则暴露宝塔标识;DNS 必须橙色云代理,禁用宝塔强制 HTTPS、HTTP 重定向及外部端口拦截;需配置 Nginx 信任 Cloudflare IP 段并读取 HTTP_CF_CONNECTING_IP 获取真实用户 IP。

如何利用宝塔面板隐藏服务器真实IP_配合Cloudflare设置

Cloudflare 代理是否生效?先看响应头 cf-rayserver

真实 IP 没藏住,往往不是宝塔没配好,而是 Cloudflare 根本没在转发流量。最直接的验证方式是访问你的网站,用浏览器开发者工具看响应头:cf-ray 字段存在且带值,说明请求经过了 Cloudflare;而 server 值如果还是 nginxopenresty(宝塔默认),说明后端暴露了真实服务标识——这会让扫描器一眼识别出你用的是宝塔+LNMP,增加被针对性攻击的风险。

  • 务必关闭宝塔面板的「强制 HTTPS」和「HTTP 重定向」功能,否则可能绕过 Cloudflare 的 SSL 加密层,导致真实 IP 在 301 跳转中泄露
  • 检查域名 DNS 页面:Cloudflare 的橙色云图标必须点亮(Proxied),灰色云(DNS only)等于完全没代理
  • 若用自定义端口(如 8080)运行网站,Cloudflare 不支持代理非标准端口,必须回退到 80/443,靠宝塔反向代理或端口映射来承接

宝塔里必须关掉的三项设置

宝塔为方便管理,默认开启一些对隐藏 IP 极其危险的功能。这些开关不手动关,Cloudflare 就形同虚设:

  • 「网站」→「设置」→「SSL」→ 取消勾选 强制 HTTPS(哪怕你有证书也要关,让 Cloudflare 处理加密)
  • 「网站」→「设置」→「配置文件」→ 删除或注释掉所有含 return 301 https://rewrite ^(.*)$ https://$host$1 permanent; 的行
  • 「安全」→「防火墙」→ 关闭 禁止外部直接访问 80/443 端口(这个功能会启用 iptables 规则,反而可能干扰 Cloudflare 的源站 IP 白名单机制)

如何确认访客看到的是 Cloudflare 的 IP,而不是你服务器的真实 IP?

PHP 脚本里直接读 $_SERVER['REMOTE_ADDR'] 拿到的永远是 Cloudflare 的节点 IP(比如 172.69.x.x),不是用户真实 IP——这是正常现象。但如果你的日志、登录限制、IP 黑名单逻辑还依赖这个字段,就会误封 Cloudflare 节点,导致大面积访问失败。

  • 宝塔「网站」→「日志」里看到的访客 IP 是 Cloudflare 的,不是真实用户 IP;要获取真实 IP,需读取 $_SERVER['HTTP_CF_CONNECTING_IP'](PHP)或 X-Forwarded-For(需 Nginx 显式信任)
  • 在 Nginx 配置中加入:set_real_ip_from 173.245.48.0/20; 等 Cloudflare 官方 IP 段(共 7 段),再启用 real_ip_header X-Forwarded-For;,否则 limit_conndeny 规则会失效
  • WordPress 插件、Discuz! 后台、或自写登录风控若没适配 HTTP_CF_CONNECTING_IP,就可能把整个 Cloudflare 网络当成一个“用户”来限流

为什么换 HTTPS 证书后突然暴露了真实 IP?

很多人在宝塔里一键申请 Let’s Encrypt 证书并启用后,发现网站能打开,但扫描工具仍能查到源站 IP。根本原因是:Let’s Encrypt 验证阶段(HTTP-01)必须让 ACME 服务器直连你的 80 端口,而此时 DNS 若已切到 Cloudflare 代理,验证会失败;于是部分用户选择临时关闭代理,验证完又忘了开回来——真实 IP 就这么留在了 DNS 缓存和历史记录里。

  • 推荐改用 DNS-01 验证方式(需 API 密钥),全程无需开放 80/443 给外网,避免代理断开风险
  • 每次证书更新后,立刻检查 Cloudflare DNS 页面的代理状态,别信“我记得我开着”
  • dig A yourdomain.comdig A www.yourdomain.com 对比返回的 IP 是否与 Cloudflare 官方 IP 段吻合(不是你服务器的 IP)

真实 IP 隐藏不是一劳永逸的事,它依赖 DNS 设置、Nginx 信任链、日志处理逻辑三者同步正确。任何一个环节倒退一步,前面全白做。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《如何利用宝塔面板隐藏服务器真实IP_配合Cloudflare设置》文章吧,也可关注golang学习网公众号了解相关技术文章。

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>