Cloudflare Tunnels Docker部署以及国内访问加速
一、基础部署
1、首先创建一个tunnel

2、创建域名以及绑定的本地端口

3、在本地服务器上部署docker tunnel服务 注意协议使用http2 兼容性更好
docker run --name my-cloudflared --restart always cloudflare/cloudflared:latest tunnel --no-autoupdate run --protocol http2 --token XXX你的token
4、访问域名即可实现内网穿透
二、使用优选域名国内加速访问
需要准备三个域名a.com(主域名,实际访问需要的域名),b.com(回源域名,origin.b.com), c.us.kg(中转域名,套用cname加速的域名,需要中转域名,否则主域名直接cname到优选域名,会访问会报错403),这里示例是三个域名都托管到了cf平台上。
1、首选在tunnel里面添加上所有的主域名需要访问的服务,每个域名对于一个服务。然后添加一条回源域名,这里是origin.b.com绑定tunnel ,地址随便都行。


2、添加回源域名,进入b.com的cf管理,添加回源域名origin.b.com和 所有需要访问的主域名,就是这里的自定义主机名,添加主机名后,需要添加txt校验到主域名上。

3、到此b.com域名有一条解析到tunnel的开启小黄云的origin记录,然后主域名a.com上会有所有的解析到tunnel的开启小黄云的cname记录和验证主机名的txt记录,接下来是中转域名的操作。这里是使用的国际版华为云的解析,中转域名使用免费域名就行,首先在华为云上添加一个域名,为c域名的子域名,例如 cf.c.com,添加后在cf上添加华为云上绑定的ns记录。

4、然后在华为云上右上角添加记录集泛解析,记录类型选择cname,主机记录写*,线路选择全网默认,内容填写回源域名origin.b.com。然后再添加一条记录,记录类型选择cname,主机记录写*,线路选择地域解析,然后选择国内,记录值填写优选域名。

5、最后在主域名的dns解析里面,把所有绑定tunnel的cname的值改成泛域名 *.cf.c.com,并且关闭小黄云,这样就实现了国内访问加速,ping一下域名,会发现解析的ip变多了,这样国内访问更快更加稳定。优选域名地址参考。

小记:如果只有两个域名的话 可以主域名分一个子域名出去当中转域名,然后主域名服务cname到这个子域名也可以的。
三、ssh绑定tunnel,实现web端登录ssh
ssh如何绑定tunnel实现公网访问呢?
1、首先添加一个应用,在cf zero trust里面添加应用,选择self host。填写应用信息,登录信息过期时间,域名填写绑定tunnel的主域名。需要添加一个登录规则,这里是你希望登录的账号,可以是某个邮箱或者某个优选地址结尾的人登录。

2、然后在设置页面选择浏览器渲染类型为ssh

这样就大功告成了,访问绑定的域名,浏览器会首先让你登录(这个登录失效是在创建应用的时候设置的,在这个设置的时间内访问无需重新登录)