免备案域名访问:国内服务器 + Cloudflare Tunnel 实战方案,自带SSL证书

免备案域名访问:国内服务器 + Cloudflare Tunnel 实战方案,自带SSL证书

 次点击
11 分钟阅读

很多开发者想快速验证创意,却被国内云服务器繁琐的备案流程卡住进度,今天分享一套实战方案,帮你彻底省去备案烦恼。

今天就分享一套实战方案,帮你彻底省去备案烦恼。

我们知道,网站备案主要限制 80 和 443 端口—— 这两个是 HTTP/HTTPS 默认端口,正常访问无需手动输入端口号。
最简单的做法是改用其他端口、不申请 SSL 证书,但这样把服务直接暴露在公网,安全风险极高。

我手上的服务器是🌧️雨云的,无论是流量还是带宽都很给力。

雨云 - 新一代云服务提供商

但因为备案政策的限制,即便想在1Panel中申请IP证书也会由于为备案被默认的返回挡住,ip+SSL的方案也难以实现。

既然80和443端口不能使用,我们可以把服务都转移到其他端口,比如8080和8443,完成这一步之后,虽然可以通过ip:端口的方式访问服务,但没有域名和SSL证书,依然心里别扭。

这就要用到我们的赛博大善人了,Cloudflare 的 Tunnel 功能提供零信任、安全内网穿透服务,核心是让你的本地 / 内网 / 国内服务器无需公网 IP、无需开放端口、无需备案,就能通过域名 + HTTPS 安全暴露到公网。

它的工作原理是:
你的服务器运行轻量客户端 cloudflared主动向外与 Cloudflare 全球边缘节点建立加密、持久的出站隧道(Outbound-only);用户访问你的域名时,流量先到 Cloudflare,再经隧道转发到你的源站 ——全程不暴露你的真实 IP、不开放任何入站端口

使用这个功能需要你在 Cloudflare 上有一个域名,之后我们来到Cloudflare One↗ ->网络->连接器->Cloudflare Tunnels,点击下方的创建隧道

选择Cloudflared。

为隧道命名后,点击保存隧道进入下一步。

接下来选择我们服务器的系统和版本,我使用的Ubuntu,属于Debian系,粘贴页面中给出的命令,根据提示安装好之后,页面上将出现对应提示,点击进入下一步。

完成上面的步骤后,我们的服务器已经和Cloudflare建立联系,接下来需要的就是告诉它用什么域名代理我们服务器上的哪个端口。

如果用一记域名代理这个服务,“子域”就不用填写了,如果用二级域名就要填写,再在域中下拉选择自己的域名。在下方的“服务”项中,填写服务的通信类型和URL,URL通常是localhost:端口号,比如我的就是这样的。

完成以上步骤后,我们的服务就可以正常通过域名访问了,Cloudflare会自动生成对应的SSL证书。


参考内容:

  1. oudflare Learning Paths

© 本文著作权归作者所有,未经许可不得转载使用。