CF Tunnels上传文件失败解决方案全程记录
解决CF Tunnels上传文件失败的全程记录
前因
- 将家宽(有公网,常规Web端口被封禁)NAS部署的服务从腾讯EO迁移到Cloudflare(简称cf),采用cf tunnels开放内网的形式。
- 通过Docker部署cf tunnels。
- 购买另一个域名,设置IP优选,部署个人博客网站(目前仅对自己开放)。
问题点:上传文件一直失败
- 上传文件图片作为博文封面失败,在openlist、minio上同样失败。
- 直接通过端口访问博客可正常上传。
- 通过加速域名访问时,上传功能失效。
解决过程
- 修改cf配置:WAF跳过、https、上传文件大小设为100M,超时时间设为120s,无效果。
- 修改nginx配置,发现无用,考虑到源站能上传,nginx无问题,停止此操作。
- 博客代码切片上传,每个切片上传时间至少30s,速度慢。
- 优化代码,减少接口调用时间,存储原图和webp图,更换类库解决速度问题。
- 尝试将上传接口改为源地址接口,发现https调用http报错,且不想配置ssl证书。
- 查看博客后台日志,发现管道在接口执行前已超时,怀疑程序在接收文件时被中止。
- 多次尝试上传1mb文件,速度慢,怀疑是CDN和服务器网络问题。
最终解决方案
- 关闭服务器clash,无效果,怀疑tunnels限速,搜索解决方案,在V2EX找到建议,添加启动参数
--protocol http2。 - 重新测试上传,飞牛界面显示下载速度提升至1M/s,问题解决。
结论
解决方案可能是重启Tunnels或添加--protocol http2参数。
感谢
感谢大家的帮助,分享此问题解决全过程。虽然曲折,但最终达成目标,坚持使用cf tunnels。
链接
- [](https:///t/topic/1427702) ( - )
评论已关闭