在开始使用CloudFlare之前,还从未了解过原来CloudFlare是如此的强大。之前一直是使用的正规的云服务器,从域名解析、SSL证书签署续签、穿透内网等全部手动控制,到现在一键启用,从普通个人使用的角度来说,极大的提升了幸福指数。之前还自己写了SSL续签程序,结果现在可以完全托管在cloudflare,很是震撼。

    本文则是介绍CloudFlare的一个极其强大的功能——内网穿透。

域名配置

    在一切动作之前,我们需要在CloudFlare配置一下个人的域名,后续的各个站点服务都以这个域名作为根基进行配置。

    先来到官方站点 CloudFlare,对于新用户的话,填写基础信息并且设置个人信用卡即可快速注册。

    添加域名。我们进入到CloudFlare后台后,依次点击 域名>概览>添加域名



    选择一个已经存在的域名进行连接(不推荐购买/转移,因为这里购买的很贵,不如国内渠道来的便宜)。输入域名后选择免费计划,通常来说个人网站足够使用。


    免费计划中提供的资源有:每日10w次的请求、5GB的边缘关系型数据库、10GB的对象存储、无限制的静态站点托管。能力有:自动颁发管理免费SSL证书、全球CDN、快速DNS等。对于个人使用是够够的了,只要不用做大量的流媒体使用,完全称得上是网络界的当代菩萨!



    等到我们选择完免费计划后,CloudFlare会自动的扫描该域名下已有的解析值。可以选择仅DNS和代理,DNS网络流量将不会走CloudFlare无法使用CloudFlare的各项策略,代理模式则会完全托管,按需配置后继续即可。



    接着将当前域名挂载的NS服务器切换到cloudflare,按照提示复制两个解析值:



    前往自己的域名注册商处,找到DNS的NS配置项,改成上方的两个地址即可,后续域名会走cloudflare。不同的域名注册方配置地方不同,问下AI或者客服大抵都能找到,我这里以宝塔为例:



    更改验证后,会需要一些时间同步才能生效。配置完成的情况下,会显示状态为活动。


内网穿透配置

    在完成了上述的域名配置后,即可进一步的做内网穿透处理,让局域网中的设备可以在公网访问到。点击ZeroTrust。


    依次点击 网络>连接器>创建隧道。对于一个设备,通常只要创建一个连接器即可。


    在创建隧道的时候,只需要创建Cloudflared即可,Mesh一般情况下用不到,除非需要严格的点对点访问控制。我们选择Cloudflared。



    随便起一个自己能够辨别的隧道名称(没有实际用途,因此不用纠结起什么名字,可以简单理解为隧道名称)。


    选择自己设备的操作系统、架构,按照提示,安装cloudflared并且注册为开机自启的服务。


    等待提示创建连接成功后点击下一步。

    在这里选择刚刚设置好的域名,并且挂载设备本地的服务完成设置即可。



    一切准备就绪,这里状态会显示正常:


    当然了,对于这个连接器相当于打通了本地和cloudflare的通信隧道,对于这个隧道,我们不仅可以挂载一个服务,而是想要多少有多少,而且支持多种主流的通信协议,点击上方的隧道名称,如我这里显示的 local

    进入到local隧道后,来到已发布应用程序路由标签,点击添加已发布应用程序路由即可。像我这边就部署了N个子域名,有http的有tcp的,自由度非常高!


    

    至此,就已经可以愉快的快速的将本地服务挂到公网啦!不过需要注意的是,并不是所有的区域都离cloudflare的DNS服务器很近,从设备到cloudflare服务器到用户侧,整体的延迟可能会非常大,所以如果作为游戏穿透的话,可能不是非常合适,可以考虑再搭配国内的穿透服务器来作为专门的游戏穿透用,比如 Sakura Frp 等。