记一次使用 cloudflared tunnel 内网穿透

文章目录

  • 最一开始
  • 使用 cloudflare tunnel
    • 遇到 522 问题
    • 1033 错误
  • 附录

最一开始

我一开始是把我的域名托管到了 cloudflare,并且使用宝塔面板 + Ngnix 创建了一个静态页面。因为我想要使用 https,所以我还在 cloudflare 上申请了源站证书和 SSL。但是我的华为路由器发病了不知道为什么防火墙关了还是没用办法通过外网访问(还白弄了 DDNS 😭)
于是,在 deepseek 的指导下,我开始尝试使用 cloudflare tunnel 做内网穿透。

使用 cloudflare tunnel

我和大多数人都一样,从 github 上下载了 clouflared.exe 并添加到了 Path 里,并且在 cloudflare 上创建了 CNAME 的 dns 记录。

遇到 522 问题

第一次遇到的时候,我非常的懵,后来知道了是那个 dns 记录的错误或者是 config.yml 的错,最终,我成功的 dns 记录是:

类型目标代理状态TTL
CNAME<我的 tunnel id>.cfargotunnel.com已代理自动

我成功的 config.yml 是:

tunnel:<tunnel id>credentials-file:C:\Users\<用户名>\.cloudflared\<tunnel id>.jsonprotocol:http2ingress:-hostname:<我的域名>service:https://127.0.0.1:443originRequest:noTLSVerify:trueoriginServerName:<我的域名>-service:http_status:404

然后使用命令cloudflared tunnel run命令,然后访问网址,成功了。
于是我尝试注册为服务,但是我一开始也是使用的cloudflared service install但是访问网站后就遇到了 1033 错误

1033 错误

这个其实是 cloudflare tunnel 没有找到配置文件
这是我卡的最久的错误,在 deepseek 的指导下,一痛乱搞,差点把电脑搞坏。
在这个错误的期间,我尝试过去问 chatgpt,但是也没有用。
最终,我想起了我之前安装过 opencode,在它的指导下终于成功了。

  1. 先去卸载已安装的服务(如果没有安装请忽略)
    cloudflared service uninstall
  2. 然后把进程 kill 掉(使用net stop cloudflared并不行,据说是一个好久了的错误)(如果没有安装过服务请忽略)
    taskkill /f /im cloudflare.exe
    当然,也可以直接重启
  3. 手动安装服务(注意不是原来的命令)
    sc create Cloudflared binPath="<cloudflared.exe 的位置> tunnel --config <配置文件的位置> run" start=auto
  4. 最后启动服务
    net start Cloudflared

附录

opencode 虽然默认的模型参数小,免费,但是是真的好用
如果你也在这个过程中遇到了问题,欢迎在评论区留言
记得点个赞哦~