问题引入
Cloudflare 是一家国际知名的互联网基础设施服务的公司。对国内用户来说,很多人用 Cloudflare 的免费服务来给网页带上 https (比如本站),又或者是用 Cloudflare Tunnel(Cloudflare Argo Tunnel) 来穿透本地网页到公网。
但是,由于众所周知的原因,国内访问 Cloudflare 服务通常不是很通畅,而在配置 Cloudflare Tunnel 时也偶尔会因为各种原因失败,需要重新安装。这时,cloudflared 会提示如下:
这是由于 cloudflared 没有完全清理安装文件导致的。
如何解决
在执行卸载指令之后,执行指令清除 cloudflared 的所有配置文件:
sudo cloudflared service uninstall
sudo rm /etc/systemd/system/cloudflared*
这时再重新执行安装指令即可。
切换到HTTP2连接
有时候在隧道创建成功后,Cloudflare 后台会显示隧道状态是 degraded
(退化状态),这可能是由于新版的Cloudflare隧道“强制”使用QUIC进行连接,而国内的网络接入服务商对UDP协议支持很不好造成的。
可以通过以下方式设置默认使用HTTP2连接。
编辑配置文件:
sudo vi /etc/systemd/system/cloudflared.service
在 ExecStart
一行的启动指令里添加如下参数:
--protocol http2
此时启动指令应该是类似 ExecStart=/usr/bin/cloudflared --no-autoupdate --protocol http2 tunnel run --token <your_token>
的形式。
重新启动服务
sudo systemctl daemon-reload
sudo systemctl restart cloudflared #由于网络环境原因可能启动不成功,多执行几次本句
参考链接:
评论 (0)