Cloudflare 隧道内网穿透搭建记录
由于国内运营商不让用80端口,备案又麻烦,因此我想出了这招。
优缺点
- 免费且不需要服务器
- 暂时不支持UDP协议
前提条件
- 一个托管于Cloudflare的域名,相关教程看这里创建 Cloudflare 帐户并添加网站
- 一台本地Linux Web机器,即内网穿透的对象
- 正常网络连接
安装 Cloudflared
1 |
curl -LO https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb |
登录 Cloudflared
1 |
cloudflared tunnel login |
这时会弹出来一个URL,用浏览器打开,登录认证,然后选择你想用来做内网穿透的域名即可。
成功后会生成证书,放置于~/cloudflared/cert.pem
中。
新建隧道
名字可以随意起
1 |
cloudflared tunnel create <Tunnel-NAME> |
成功后会提示,相关凭证已放置于~/.cloudflared/<Tunnel-UUID>.json
中。
新建 Tunnel 对应的 DNS 记录
<SUBDOMAIN>
填你想用来做内网穿透的域名,可以为二级域名(example.com)或三级域名(www.example.com)等。
1 |
cloudflared tunnel route dns <Tunnel-NAME> <SUBDOMAIN> |
成功后会创建CNAME记录将域名指向隧道。
新建配置文件
1 |
nano ~/.cloudflared/config.yml |
写入以下配置
1 |
tunnel: <Tunnel-UUID> |
由于国内环境关系,无法使用默认的quic
建立隧道,因此需指定http2
,http://localhost:80
为本地服务的地址。
启动 Cloudflared
修改systemd文件
1 |
nano /etc/systemd/system/cloudflared.service |
写入以下内容
1 |
[Unit] |
启动 Cloudflared
1 |
systemctl enable cloudflared --now |
测试穿透是否成功
等待一两分钟,然后尝试访问https://<SUBDOMAIN>
,如可正常显示则成功。
总结
这玩意不比什么花生壳,frp香多了,免费又不需要服务器,哈哈哈哈哈哈哈哈哈。
本文转自: https://johnrosen1.com/2022/04/19/cloudflare/
本站仅做收录,版权归原作者所有。