由于最近把域名迁移到了 CloudFlare 并注销了原来的网站备案,导致原有的一些自部署服务页面无法正常访问,趁着周末时间重新整理下部署的服务并使用 CloudFlare Tunnel 来搭建新的穿透方案。
原有方案说明
原来的方案是使用云服务器作为 FRP 的跳板机,将家庭网络中的服务映射出来,以之前部署的 Reader 服务为例,说明下旧的方案部署流程。
点击展开
上面的网络结构中,服务都是运行在 NAS 的 Docker 容器中,容器之间的访问使用默认的 Bridge 桥接网络类型。在配置域名时,将规划好的二级或三级泛域名映射到云服务器的 frpc 端口;此时只需在容器中起一个 frpc 服务,与服务器部署的 frps 建立连接即可。增加新的服务时,需要在容器的 frpc 服务中配置新的服务和端口,并手动重启 frpc 服务。
但是这种方案增减服务操作比较繁琐,我在这里使用了 Nginx Proxy Manager 来统一管理容器中的服务,这样的话 frpc 中只用配置 nginxpm 的连接,后续的服务修改直接在 nginxpm 的 WebUI 中管理即可。
新的方案流程
基于 CloudFlare Tunnel 的方案流程基本与原方案一致,只是使用了 Tunnel 替代了原有方案中 FRP 服务的作用,且无需再使用自己的云服务器,成本大大降低。
按照官方提供的 Docker 方式配置运行 CloudFlare 服务即可,只需将 nginxpm 的服务以及端口配置到 Tunnel 中,后续的服务依旧在 WebUI 中管理。
服务清单
最后,列举出一些我正在使用的自部署的服务: