总所周知,cloudflare默认分配的IP都在美国,轻则速度慢运气不好分配的还是被GFW拦截的
本教程需要:
一张万事达/visa过cloudflare for saas验证
两条域名,一条用于优选,一条托管到cloudfalre
一、配置cloudflared
- cloudflared可在cloudflare/cloudflared: Cloudflare Tunnel client (formerly Argo Tunnel) (github.com)上获取
部署方式(可选)
- 本教程以docker为例
text
docker run -d --name cloudflared_status --network=host alpine sleep infinity下载cloudflared
这里以arm64为例
text
wget -O /usr/bin/cloudflared https://github.hqycloud.top/https://github.com/cloudflare/cloudflared/releases/download/2024.4.1/cloudflared-linux-arm64设置权限
text
chmod 777 /usr/bin/cloudflared查看版本号
text
cloudflared version登录cloudflared
text
cloudflared tunnel login创建隧道并命名
text
cloudflared tunnel create 隧道名- 隧道名可以自定义,但不能重复!
查看隧道列表
text
cloudflared tunnel list创建配置文件
text
echo 'url: http://localhost:8000
tunnel: <Tunnel-UUID>
credentials-file: /root/.cloudflared/<Tunnel-UUID>.json' > .cloudflared/config.yml这里的Tunnel-UUID在隧道列表可以看到
查看创建好的config.yml
text
cat config.yml设置域名
text
cloudflared tunnel route dns <UUID or NAME> <hostname>UUID和NAME二选一,uuid查看隧道列表就能看到,name是你创建时输入的名字
hostname填的是托管在cloudflare的子域,不需要完整的域名
例如:tunnel-cdn.test.com(托管在cloudflare
则只需要填tunnel-cdn
测试隧道是否正常
text
cloudflared tunnel run <UUID or NAME>访问托管在cloudflare的隧道子域查看是否正常
如果正常可继续看下一步,如果打不开并报错,请移步至cloudflare文档
在后台运行隧道
text
nohup cloudflared tunnel run <UUID or NAME> &二、配置优选IP
开通cloudflare for saas服务
需要绑卡,这里不过多赘述
设置回退域

回退域必须设置为与隧道绑定的域名
设置访问域名
添加一个自定义主机名
域名填公开访问的域名(必须托管在其他dns服务商,否则cloudflare会检测
验证方式选TXT
完成
在验证过程中,需要把解析设为回退域,否则验证不通过
等待证书状态和主机名状态都显示有效后访问一下试试
访问成功后就可以把解析设置为cf的任意IP