项目背景
如上一篇结尾, 在搭建CF隧道后, 在不挂梯子的情况下, 还是无法通过域名直接访问, 那有没有可以复用现有CF隧道, 改动最小的方案呢?
解决措施
解决方案还是不少的,但想要复用现有CF隧道的情况下实现,考虑多加一层Nginx代理论上是可行的, 刚好我们之前演示宝塔面板搭建个人博客篇时有一台阿里云ECS服务器, 直接拿来使用即可,整体架构变为如下,多了一层中转,速度略慢, 不过作为个人测试使用足够了,我们直接来试试看吧
Cloudflare新增回源专用域名
这一步的目的是保留一组专门给阿里云服务器回源使用的域名,全程走 Cloudflare 代理,与对外业务域名隔离,避免解析回环,在CF上新增5条回源域名(在原有域名前加src-)
可以看到在DNS记录里自动生成5条记录
接下来将原有5条DNS记录由代理模式改为仅DNS,修改记录为阿里云公网IP
宝塔面板配置反代
首先在面板左侧点击网站->新增5条记录(zxit.top为后续申请证书使用),其他的每条进行逐个进行反向代理设定


然后在配置文件里新增反代优化参数,点击保存会自动重载配置

接着进行SSL证书申请,首先需要获取到CF的全局API令牌,申请证书时会需要用DNS接口调用,需要输入CF邮箱地址及全局API令牌才可完成

证书申请完成后,挨个进行证书部署就可以了

访问验证
到这里作业就完成了,现在已经可以直接使用域名进行访问。当然也有其他方案, 比如内网穿透之类,大家可以进行测试验证,同时为方便个人测试,博主把应用链接到个人博客首页上,不过由于博主的域名及公安备案还在走流程中,目前博客及其他应用可能会出现打不开的情况, 等备案完成就正常啦

评论区