VPS如何反代Cloudflare?_ vi /usr/local/caddy/Caddyfile

如何通过VPS反代Cloudflare实现网络加速和隐藏源站IP?

方法 工具/技术 适用场景 优点 缺点
宝塔面板反向代理 Nginx/宝塔面板 新手友好,可视化操作 配置简单,支持SSL证书 需要额外安装面板,资源占用较高
Caddy反代 Caddy服务器 轻量级需求,快速部署 自动HTTPS,配置文件简洁 功能相对基础,高级需求需定制
Cloudflare Workers Cloudflare平台 无服务器架构,全球节点 无需VPS,按请求计费 代码执行时间限制,冷启动延迟
Nginx手动配置 Nginx 高性能需求,定制化场景 灵活性强,支持复杂路由规则 需命令行操作,学习成本较高

宝塔与Caddy详细配置教程及常见问题解决

VPS反代Cloudflare完整教程


一、基本概念与原理


VPS反代Cloudflare(简称CF)是通过将域名托管到CF,利用其全球CDN节点转发请求到VPS服务器,实现加速访问隐藏源站IP的技术。核心原理包括:

  1. DNS解析:域名解析到CF的IP,启用CDN服务(小云朵变橙色)

  2. SSL/TLS:在CF控制台设置加密模式为"灵活"或"完全"

  3. 反向代理:VPS配置转发规则,将CF的请求转发到真实服务端口^^1^^2^^


二、主流方法操作步骤


方法1:宝塔面板配置(推荐新手)



  1. 环境准备



  • 安装宝塔面板(Ubuntu示例):


     wget -O install.sh https://download.bt.cn/install/install-ubuntu6.0.sh && sudo bash install.sh ed8484bec


  • 安装Nginx环境(约需5-10分钟)



  1. 站点设置



  • 新建纯静态网站(PHP选择"纯静态")

  • 绑定域名并解析到VPS IP



  1. 反向代理配置



  • 目标URL填写http://127.0.0.1:真实服务端口

  • 发送域名自动生成(建议保持默认)

  • 开启缓存可提升性能(缓存时间建议300-600秒)^^3^^



  1. SSL证书



  • 使用宝塔免费证书或CF提供的SSL

  • 注意:若同时启用CF和宝塔的HTTPS,需关闭其中一个避免重定向循环^^3^^


方法2:Caddy配置(轻量级方案)



  1. 安装Caddy


   wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddyinstall.sh && bash caddyinstall.sh


  1. 编辑配置文件


   vi /usr/local/caddy/Caddyfile

示例配置:
   yourdomain.com {
gzip
reverseproxy / http://127.0.0.1:目标端口
}


  1. 启动服务


   service caddy start


  1. CF设置



  • yourdomain.com解析到VPS IP

  • 等待DNS生效(通常5-30分钟)^^4^^


三、常见问题解决方案

问题现象 可能原因 解决方案
502 Bad Gateway SSL握手失败 在Nginx配置添加proxysslservername on;proxysslprotocols TLSv1 TLSv1.1 TLSv1.2;^^5^^
连接超时 CF节点到VPS网络问题 更换VPS机房位置,或使用CF的Argo Tunnel功能^^6^^
缓存不更新 缓存时间设置过长 调整宝塔面板的缓存时间为60-120秒,或手动清除缓存
端口暴露 未正确配置防火墙 使用ufw allow 80ufw allow 443开放必要端口,其余端口默认拒绝

四、进阶技巧

  1. 多域名反代:在宝塔中为每个二级域名创建独立站点,分别设置反代规则^^7^^
  2. IP隐藏:通过修改VPS的hosts文件,将域名强制解析到源站IP避免循环^^8^^
  3. 性能优化:启用Gzip压缩、调整Nginx的worker_processes为CPU核心数^^9^^

五、安全注意事项

  1. 定期更新宝塔面板和服务器系统补丁
  2. 使用强密码并限制SSH登录IP
  3. 监控VPS资源使用情况(CPU/内存/带宽)
  4. 建议配合宝塔WAF插件防御CC攻击

发表评论

评论列表