总所周知,cloudflare默认分配的IP都在美国,轻则速度慢运气不好分配的还是被GFW拦截的

本教程需要:

一张万事达/visa过cloudflare for saas验证

两条域名,一条用于优选,一条托管到cloudfalre

一、配置cloudflared

部署方式(可选)
  • 本教程以docker为例
1
docker run -d --name cloudflared_status --network=host alpine sleep infinity
下载cloudflared

这里以arm64为例

1
wget -O /usr/bin/cloudflared https://github.hqycloud.top/https://github.com/cloudflare/cloudflared/releases/download/2024.4.1/cloudflared-linux-arm64
设置权限
1
chmod 777 /usr/bin/cloudflared
查看版本号
1
cloudflared version
登录cloudflared
1
cloudflared tunnel login
创建隧道并命名
1
cloudflared tunnel create 隧道名
  • 隧道名可以自定义,但不能重复!
查看隧道列表
1
cloudflared tunnel list
创建配置文件
1
2
3
echo 'url: http://localhost:8000
tunnel: <Tunnel-UUID>
credentials-file: /root/.cloudflared/<Tunnel-UUID>.json' > .cloudflared/config.yml

这里的Tunnel-UUID在隧道列表可以看到

查看创建好的config.yml

1
cat config.yml
设置域名
1
cloudflared tunnel route dns <UUID or NAME> <hostname>

UUID和NAME二选一,uuid查看隧道列表就能看到,name是你创建时输入的名字

hostname填的是托管在cloudflare的子域,不需要完整的域名

例如:tunnel-cdn.test.com(托管在cloudflare

则只需要填tunnel-cdn

测试隧道是否正常
1
cloudflared tunnel run <UUID or NAME>

访问托管在cloudflare的隧道子域查看是否正常

如果正常可继续看下一步,如果打不开并报错,请移步至cloudflare文档

在后台运行隧道
1
nohup cloudflared tunnel run <UUID or NAME> &

二、配置优选IP

开通cloudflare for saas服务

需要绑卡,这里不过多赘述

设置回退域

https://github.hqycloud.top/https://raw.githubusercontent.com/hqycloud/blog-images/main/hexo-images/24/5/image_01ef7296fe69d35d4ec735ff7050b501.png

回退域必须设置为与隧道绑定的域名

设置访问域名

添加一个自定义主机名

域名填公开访问的域名(必须托管在其他dns服务商,否则cloudflare会检测

验证方式选TXT

完成

在验证过程中,需要把解析设为回退域,否则验证不通过

等待证书状态和主机名状态都显示有效后访问一下试试

访问成功后就可以把解析设置为cf的任意IP