前言:
我们可能拥有一些位于境内的服务器,但希望通过域名访问时,却面临未备案。本文将介绍一种临时解决方案:其核心原理是,让国内服务器主动建立加密连接,接入 Cloudflare 的边缘网络,而非被动等待外部请求。所有进入 Cloudflare 的流量,均通过该加密隧道安全地转发至您的服务器。
关键在于您的服务器无需暴露任何公网端口,因此运营商无法检测到您正在提供 HTTP/S 服务,自然也无法触发备案核查。此外,无论是家庭服务器,还是部署在个人电脑上的网页及其他项目,均可通过该方法实现免备案的域名访问。
原理图:
准备:
在开始配置前,需要提前完成下面三个配置:
1. 域名
-
通过域名注册商购买一个顶级域名。
2. 更改域名DNS服务器
-
登录域名注册商后台。
-
将域名的 Nameserver 修改为 Cloudflare 提供的地址。
-
注意:此步骤是使用 Cloudflare 服务(包括 Tunnel),你可能需要用信用卡验证。
3. 境内服务器
-
确保服务器能正常连接公网。
-
安装 Web 服务(如 Nginx、Apache),并确认本地监听端口正常。
-
服务器已安装Docker(如未安装,可咨询本站左下角的AI助手)。
第二阶段:在 Cloudflare 上创建 Tunnel
1. 登录 Cloudflare 控制台
-
访问 dash.cloudflare.com 并使用您的账户登录。
-
如果尚未添加域名,先在“网站”部分添加您的域名。
2. 进入 Zero Trust 面板
-
在控制台主页左侧边栏,点击 Zero Trust 选项。
-
提示:Cloudflare Tunnel 是 Zero Trust 产品套件的一部分,免费额度足以满足个人使用需求。
3. 创建 Tunnel
-
在 Zero Trust 面板中,导航至 网络 > Tunnels。
-
点击 添加隧道。
-
选择
Cloudflared
。
-
输入隧道名称(例如
my-cn-server-tunnel
),然后点击 保存隧道。
4. 在服务器上安装 Connector
-
创建成功后,Cloudflare 会提供安装命令(这里用类似
docker run ...
这个命令实现,因为这会更通用一些,其他命令配置可以自行查阅)。 -
点击复制命令,在境内服务器上以 root 权限执行。
-
执行后,检查 Connectors 状态,应显示为 已连接(表示服务器已连接到 Cloudflare 网络),点击下一步。
5. 添加已发布应用程序路由
-
在 Tunnel 配置页填写信息。
-
提示:流量由本地 Connector 直接转发,无需公网 IP。
6. 保存
-
点击 保存 保存所有更改。
第三阶段:测试访问
1. DNS 解析
-
等待几分钟,Cloudflare 会自动为子域名创建 CNAME 记录(指向类似 xxxx.cfargotunnel.com)。
-
无需手动添加 DNS 记录。
2. 访问网站
-
在浏览器中打开配置的 URL。
-
若一切正常,将看到境内服务器的 Web 内容。
总结
备案:服务器无需暴露公网端口,有效规避备案要求。
安全性:所有通信均通过 Cloudflare Tunnel 加密传输,无需开放服务器端口,大幅降低攻击风险。
免费:个人及中小型网站可充分使用免费额度,降低成本投入。
协议限制:免费版主要支持 HTTP/S 协议转发。
写在最后
浩渺云海间,缘分如丝牵,若您为网站之精髓所动,可于下方订阅之卷,或诸平台觅得契合之径,唯需寄一封电邮之名,便与吾辈缔结灵犀,共享智慧之光,永续共鸣。
默认评论
Halo系统提供的评论