Ubuntu 22.04安装cloudflared,一直连接不上,解决方案
默认按官方 命令安装时,各种折腾始终处于连接超时,无法连接服务器的状态,最终解决方法:
切换到HTTP/2 over TCP
请严格按照以下步骤操作:
1. 停止服务并编辑配置文件
bash# 停止服务
sudo systemctl stop cloudflared
# 编辑服务文件
sudo systemctl edit cloudflared.service --full
2. 修改启动命令
在打开的编辑器中,找到以 ExecStart= 开头的那一行。这一行应该类似于:
textExecStart=/usr/bin/cloudflared --no-autoupdate tunnel run --token eyJhIjoiZGY3NDgxZTJiODlmNjhhMDZlMjM1YjUxZDYzNTQwZjgiLCJ0IjoiMmQ5YmE3NjgtYTM0Zi00NTNhLTk2YTItYTMxZGRhMDRiMzU4IiwicyI6IllqQm1aVGsyTXpRdFptWTBOeTAwWTJZMExXRX>
在这行命令的末尾,添加 --protocol http2。修改后,整行看起来应该像这样(请注意,你的token很长,确保只在最后添加参数):
textExecStart=/usr/bin/cloudflared --no-autoupdate tunnel run --token eyJhIjoiZGY3NDgxZTJiODlmNjhhMDZlMjM1YjUxZDYzNTQwZjgiLCJ0IjoiMmQ5YmE3NjgtYTM0Zi00NTNhLTk2YTItYTMxZGRhMDRiMzU4IiwicyI6IllqQm1aVGsyTXpRdFptWTBOeTAwWTJZMExXRX> --protocol http2
关键点:
- 确保添加的参数前面有一个空格。
- 参数是
--protocol http2(两个单词)。 - 保存文件并退出编辑器(在nano中按
Ctrl+O,回车,然后Ctrl+X)。
3. 重载配置并重启服务
bash# 重载systemd配置
sudo systemctl daemon-reload
# 重启服务
sudo systemctl restart cloudflared
4. 检查结果
执行以下命令,查看服务状态和关键日志:
bash# 查看服务状态
sudo systemctl status cloudflared --no-pager