网站源站IP暴露怎么办?Cloudflare免费CDN+SSL配置全攻略
在现在这个网络环境下,网站裸奔暴露源站IP其实是一种有风险的操作。有没有一种可以隐藏IP而且给网站提供全球(大陆除外)加速的服务,最好还能增加一些防御那就更好了。
为什么暴露源站IP如此危险?
当你的服务器真实IP被攻击者获知后,他们可以直接绕过CDN,对源站发起DDoS攻击(分布式拒绝服务)、CC攻击(挑战黑洞攻击)或端口扫描,轻则导致网站卡顿,重则服务器宕机甚至数据被窃。尤其对于个人站长、中小型企业站点,没有硬件防火墙防护,裸奔状态等同于把家门钥匙挂在门外。而CDN(内容分发网络)的核心价值之一,就是作为“中间层”隐藏源站IP,同时通过边缘节点缓存静态资源、分担流量压力。
这个时候 Cloudflare CDN 就成了不二之选,主要原因还是因为免费、全球加速节点众多(覆盖超过120个国家/地区的300多个数据中心)、还提供一些基础的防御(包括DDoS防护、Web应用防火墙基础规则、Bot机器人缓解等),也提供高级规则(例如自定义防火墙策略、页面规则、速率限制等),但是对于小白来说基本上默认的也够用了。
补充知识:Cloudflare的免费套餐包含什么?
- 全球CDN加速(不含中国大陆优化节点)
- 无限量的DDoS攻击缓解(第3-7层)
- 共享的SSL证书(通用型)
- 3条页面规则(可自定义缓存、重定向等)
- 基本的安全防护(WAF托管规则)
- 实时流量统计与分析
今天这篇教程,就是手把手教你在 宝塔面板 环境下,如何完美接入 Cloudflare,从DNS配置到SSL证书部署,再到最终验证,确保你的源站IP不再泄露,同时享受免费加速与防护。
准备工作
在开始操作之前,请确保你具备以下三项基础条件,缺少任何一项都会导致后续步骤无法继续:
一台安装了宝塔面板的云服务器。
宝塔面板是目前国内最流行的Linux服务器运维面板之一,支持一键部署LNMP/LAMP环境、网站管理、SSL配置等。如果你还没有安装宝塔,可以参考官方安装脚本(CentOS/Ubuntu/Debian均支持)。建议使用纯净系统安装,避免已有环境冲突。一个解析到Cloudflare的域名。
你需要拥有一个已在Cloudflare添加并管理的域名(即NS记录已指向Cloudflare的DNS服务器)。如果尚未将域名接入Cloudflare,需先在Cloudflare官网注册账号,添加域名,并按提示修改域名的NS记录(通常在域名注册商处操作),等待生效(一般几分钟到几小时)。服务器可以去我的监控站挑选:[传家宝VPS监控](此处为示例链接,提供性价比高的VPS推荐,适合建站和跑业务)。
宝塔不会安装的可以参考教程:【2026保姆级】手把手教你在VPS上搭建宝塔面板(此处为示例链接,详细讲解从SSH连接、执行安装命令到初始化面板的全过程)。
重要提醒:在后续所有操作中,在DNS解析完全生效之前,请不要急于部署网站内容,否则一旦被搜索引擎或攻击者抓取到源站IP,后续即使启用CDN也难以完全清除历史记录(可通过更换IP或使用CDN的“源站IP隐藏”附加功能补救,但成本较高)。
第一步:创建网站(宝塔面板操作)
登录宝塔面板,点击左侧菜单的 【网站】 -> 【添加站点】。
宝塔面板默认端口为8888,建议首次登录后修改默认端口并开启BasicAuth认证,增强安全性。在窗口中,域名框 里填入你的域名(例如分两行填入:
yuhuiculture.icu和www.yuhuiculture.icu)。
此处建议同时添加带www和不带www的两种形式,便于用户统一访问。如果你的站点支持多语言或子域名,也可以一并添加,但需注意后续SSL证书需要覆盖所有域名(我们使用Cloudflare的泛域名证书,可以支持主域名和所有子域名,一举多得)。

关于PHP版本与网站根目录:根据你的网站程序(如WordPress、Typecho、Discuz等)选择合适的PHP版本,推荐使用PHP 7.4或8.0以上(性能更优)。网站根目录建议保持默认的/www/wwwroot/你的域名,便于后续管理和备份。
这步完成后我们先别着急去部署网站,先等DNS配置好再去后续的操作。不然有可能被记录下你的真实IP,那套CDN防御属性就没有多大意义了。
为什么会有泄露风险? 因为当你在宝塔中创建站点时,如果同时解析了域名到源站IP(即未开启CDN代理),那么此时访问域名就会直接请求源服务器,CDN尚未介入,此时服务器日志、网络嗅探都可能暴露你的真实IP。所以正确的顺序是:先配置DNS并开启小黄云 → 等待解析生效 → 再到宝塔创建站点(或创建后立即暂停访问,直到DNS切换完成)。
第二步:配置 Cloudflare DNS并且开启“小黄云”(核心步骤)
很多人用 CF,但是检测发现显示的还是源站 IP,其实就是这一步没搞清楚 —— 没有把代理开关(小黄云)打开。Cloudflare的DNS解析有两种模式:
- DNS only(灰色云朵):仅做DNS解析,不经过CDN代理,流量直连源站。
- Proxied(橙色小黄云):开启代理,所有访问请求先经过Cloudflare的边缘节点,再转发至源站,从而实现IP隐藏和加速。
具体操作如下:
登录 Cloudflare 的控制台,进入你的域名管理页面,点击左侧菜单的 【DNS】 (部分新版界面可能叫“DNS记录”)。
点击 【添加记录】 (Add record)。
类型 选择
A记录(如果服务器支持IPv6,也可以同时添加AAAA记录,但一般A记录足够)。名称 分别添加两次:一次设为
@(代表根域名,即yuhuiculture.icu),一次设为www(代表www.yuhuiculture.icu)。
如果你还有其他子域名(如blog.、api.),同样添加并开启小黄云。IPv4 地址 处,填入你的 服务器的真实公网 IP 地址(例如
23.19.xx.xxx)。注意:这里填的是源站IP,而不是CDN的IP,Cloudflare会根据这个IP回源。

这里最核心的就是要把后面两个小黄云开启(点击灰色云朵图标,变成橙色即表示开启),开启了小黄云就代表使用上了Cloudflare的CDN了,如果没开启那和其他平台的DNS就没什么区别了,流量仍然直通源站,起不到任何隐藏和保护作用。
验证是否开启成功:在Cloudflare的DNS记录列表中,如果该记录行的“代理状态”显示为“已代理”(Proxied),则说明成功。稍等几分钟(DNS传播时间),你就可以通过ping命令测试,返回的IP会是Cloudflare的任播IP段(如104.16.x.x或172.64.x.x),而不是你的源站IP。
高级技巧:云朵灰度模式(仅限企业版)不在本教程讨论范围,免费用户只有开/关两种状态。
第三步:配置SSL(避坑重点)
到这里才是本教程最难的部分,因为很多人在这里会出现无限重定向的问题、SSL证书错误(浏览器提示不安全)、自签证书不受信的问题,但是只要你跟着我的教程走,基本上就没什么问题。
为什么SSL配置容易出错?
因为Cloudflare与源站之间有两种常见的通信加密方式:
- 灵活(Flexible):Cloudflare到用户端是HTTPS,但Cloudflare到源站是HTTP(未加密)。此时如果源站强制开启了HTTPS跳转,就会产生重定向循环。
- 完全(Full):Cloudflare到源站也是HTTPS,但证书可以是自签名或非受信任的,需要源站接受任意证书。
- 完全(严格)(Full Strict):要求源站使用有效的受信任CA签发的证书(如Let's Encrypt)。
我们选择“完全”模式,配合Cloudflare生成的源站证书(自签名但有效期超长),既能加密回源流量,又不会触发浏览器警告(因为用户端看到的是Cloudflare的共享证书,受浏览器信任)。
我这里推荐一步到位,不去使用宝塔申请为期3个月的 Let’s Encrypt 证书了(虽然Let's Encrypt免费且自动续期,但偶尔会出现续期失败或兼容性问题),我们直接使用CF 免费自签源服务器证书,有效期长达15年基本上不需要考虑SSL证书问题了。而且源证书仅用于Cloudflare与源站之间的加密,不对外公开,所以不需要CA认证,安全性足够。
1. 设置 Cloudflare 的加密模式为“完全”
- 在 CF 左侧菜单找到 【SSL/TLS】 -> 【概述】(Overview)。
- 在这里,将加密模式 坚决地选为 完全(Full)。不要选“灵活(Flexible)”,也不要选“完全(严格)”(因为我们的源证书是自签的,严格模式下会验证CA信任链,导致失败)。

这里需要注意,如果你这里选了“灵活”,但是宝塔那边又开了强制 HTTPS 配置了 Let's Encrypt 的证书,网站立马就会陷入无限死循环重定向的问题(页面打不开,报错
ERR_TOO_MANY_REDIRECTS)。
无限重定向原理:用户访问HTTPS → Cloudflare以HTTP回源到宝塔 → 宝塔强制跳转HTTPS(301/302)→ 返回给Cloudflare,Cloudflare再次以HTTP回源 → 循环往复,直到浏览器报错。
解决方案:如果误选了灵活,只需改回“完全”,并清理浏览器缓存和Cloudflare缓存即可恢复。
2. 生成CloudFlare源服务器证书
- 左侧菜单点击 【SSL/TLS】 -> 【源服务器】(Origin Server,部分版本显示为“边缘证书”下的“源证书”)。
- 在页面点击 【创建证书】 按钮(Create Certificate)。
- 在新弹出的配置项里:
- 私钥类型:保持默认的
RSA (2048)(足够安全,兼容性好;ECC(椭圆曲线)虽然性能更优但部分老旧设备不支持,不推荐新手改动)。 - 主机名:这里不需要动,使用默认填好的内容即可(默认会包含你的主域名和
*.你的域名泛域名,覆盖所有子域名,非常方便)。 - 证书有效期:默认就是 15 年,建议拉满15年这样最省心(默认即可,无需修改)。

这里生成的私钥(Private Key)和证书(Certificate)先保留,页面不要动因为后面需要复制到宝塔上。注意:私钥非常敏感,切勿泄露给他人,建议复制后立即关闭页面,不要保存到任何在线笔记中。
3. 配置宝塔的SSL证书
拿到证书和私钥,我们回宝塔面板给网站配置好SSL,这也是相对简单的一步。
- 回到宝塔面板,点击网站,点击你的域名对应的 【设置】 按钮。
- 点击 【SSL】 菜单(如果之前有默认证书,先关闭或删除,避免冲突)。
选择 【其他证书】 或 【自定义证书】 选项卡(不同宝塔版本界面略有差异),然后配置证书和私钥:
把开头是
-----BEGIN PRIVATE KEY-----的代码(即Cloudflare生成的私钥),完整粘贴到宝塔的 【密钥(KEY)】 文本框中。- 把开头是
-----BEGIN CERTIFICATE-----的代码(即Cloudflare生成的证书),完整粘贴到宝塔的 【证书(PEM格式)】 文本框中。 注意:不要复制额外的空格或换行,确保完整性。
保存之后,开启强制 HTTPS(即在宝塔SSL设置中打开“强制HTTPS”开关)。这一步很关键,它保证所有HTTP请求被重定向到HTTPS,从而利用Cloudflare的加密回源。

宝塔设置完成后,建议额外检查:
- 在宝塔的【网站】-【设置】-【配置文件】中,查看是否有其他重写规则冲突(如伪静态规则中强制跳转HTTPS,可能与宝塔的强制HTTPS重复,但一般不会冲突,若有则注释掉伪静态中的类似规则)。
- 重启Nginx或Apache服务,使配置生效(宝塔面板通常会自动重载,但手动重启更稳妥)。
第四步:验收成果
一切就绪,差最后一步验证你的域名有没有使用上Cloudflare的CDN,并且确认源站IP是否已经隐藏。验证方法不止一种,我们推荐综合测试:
- 打开itdog.cn(或站长工具、Ping.pe等全球Ping检测网站),进行ping测试查看解析的IP。
查看解析的IP是不是非源站IP,而且位置归属地全部显示为
Anycast / cloudflare.com(或者是Cloudflare的数据中心城市名称,如“San Jose, CA”)。
如果返回的IP段属于Cloudflare的公开IP范围(如104.16.0.0/12、172.64.0.0/13等),则说明CDN已生效。此外,还可以使用
nslookup或dig命令在本地终端查询域名的A记录,确认返回的是CF的IP而非源站IP。高级验证:通过浏览器开发者工具(F12)查看响应头,是否包含
CF-Cache-Status、CF-Ray等Cloudflare特有头部,如果有则证明流量经过CF。

到这一步你就完成了Cloudflare CDN的部署工作,不需要担心源站泄露。一些基础的防御(如SYN Flood、UDP Flood等L3/L4攻击)Cloudflare也会帮你挡下来,最主要就是全球加速功能让你的网站访问速度变快(通过边缘节点缓存静态资源、智能路由选择最优路径)。
常见问题与避坑指南(FAQ)
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 访问网站出现“ERR_TOO_MANY_REDIRECTS” | CF加密模式选为“灵活”而宝塔强制HTTPS | 将CF加密模式改为“完全”,并清除浏览器缓存 |
| 浏览器提示“证书不安全”或“证书无效” | 可能宝塔没有正确粘贴完整的证书和私钥,或使用了CF的边缘证书但未开启代理 | 重新检查粘贴内容,确保证书和私钥匹配;另外确认小黄云已开启 |
| Ping域名返回的是源站IP | DNS记录未开启小黄云(灰色云朵) | 编辑DNS记录,将云朵改为橙色(已代理) |
| 网站加载缓慢 | CF节点选择不佳,或缓存策略未优化 | 可尝试在CF的“缓存”设置中配置缓存规则,或调整“速度”选项卡中的“自动优化” |
| HTTPS访问正常但HTTP访问跳转失败 | 宝塔未开启强制HTTPS,或CF的页面规则冲突 | 在宝塔开启强制HTTPS,并在CF的“页面规则”中添加一条转发规则(可选) |
进阶优化建议(小白可跳过)
- 调整缓存TTL:在Cloudflare的“缓存”设置中,可根据站点更新频率设置浏览器缓存过期时间(如静态资源可设7天,动态内容设1小时)。
- 启用Brotli压缩:在“速度”->“优化”中开启Brotli,比Gzip压缩率更高,减少传输体积。
- 配置WAF规则:免费套餐提供基础的防火墙规则,可以手动添加“阻止已知恶意IP”或“限制请求频率”等策略,增强安全。
- 使用Railgun(已弃用)或Argo Smart Routing(付费):可进一步优化动态内容的路由速度,但免费用户无需考虑。
- 源站IP进一步隐藏:除了使用CF代理,还可以设置宝塔面板只允许Cloudflare的IP段回源(在宝塔的“安全”->“防火墙”中添加白名单规则,仅允许Cloudflare官方公布的IP范围访问80/443端口),这样即使攻击者猜到你源站IP,也无法直接访问,双重保险。
未来趋势:边缘计算与Serverless的融合
Cloudflare不仅提供CDN和防御,其生态系统正在向边缘计算(Edge Computing)延伸,例如Cloudflare Workers(无服务器函数)、Pages(托管静态站点)、R2(对象存储)等。未来,网站架构可能不再依赖传统源站,而是直接部署在边缘节点上,彻底消除源站IP的概念。对于个人站长,逐步学习这些新技术,可以更灵活地构建高可用、高安全的全球站点。
同时,随着HTTP/3(基于QUIC)的普及,Cloudflare也已全面支持,能显著提升弱网环境下的访问速度。建议在CF的“网络”设置中开启HTTP/3(实验性)功能,体验新一代协议带来的性能提升。
总结
通过以上四步,你已经掌握了在宝塔面板环境下接入Cloudflare CDN的完整流程。核心要点在于:
- 正确开启小黄云代理;
- 选择“完全”加密模式并生成源证书;
- 在宝塔配置自定义SSL并强制HTTPS;
- 验证生效。
这套方案不仅免费,还能让你享受到企业级的全球加速和基础安全防护,是个人站长、外贸站点、小型业务系统的理想选择。如果在操作过程中遇到任何问题,欢迎在评论区留言交流,我会持续更新避坑指南。
本文所有操作基于宝塔面板最新正式版(v8.x)及Cloudflare免费套餐,实际界面可能随版本更新略有变化,但核心逻辑不变。
本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji20260810.com/yunfuwuqi/9808.html
