Cloudreve + 阿里云 OSS + Cloudflare 奇幻排错
本文最后更新于 703 天前,其中的信息可能已经有所发展或是发生改变。

讲道理,我真的不想给任何站套 Cloudflare 。现在身处瓷器, Cloudflare Pro 都拯救不了那个奇幻速度。可惜的是,友商来势汹汹,如海啸般的 DDOS 攻击打落到我的源站,自己 50Gbps 主机都被天天淦黑洞里面。这个早柚盘业务又不能浪费(Cloudreve Pro 是真的贵,还得感谢 Dispure 的赞助),于是我还得用 Cloudflare 套上来跑 Cloudreve 。

问题出现了

显然,我使用 Cloudreve 代理 drive.paimon.cloud (早柚盘 Cloudreve)之后,使用阿里云 OSS 完全无法上传。在客户端一侧,网络一切 200 OK ;在服务端一侧,没有任何报错。

显然我们不能凭空看着“上传文件失败”来想到底发生了什么问题。直接动手。

先到 /conf.ini 打开 Debug

[System]
Debug = true
; ...

重启 Cloudreve ,此时出现任何奇幻的问题都能看到“较为详细”的错误信息。

然后,我试着重新上传文件,这一次,他告知错误是 Error status : 502. (CallbackFailed)

显然,不是客户端,也不是服务器的问题,是阿里云那边的问题。

我通过查阅资料得知, Cloudflare 使用的是 Let’s Encrypt R3 ,就是那个很厉害的免费证书。阿里云那边 OSS 产品“不信任”这个证书,致使阿里云 OSS 无法正常发起回调请求。

简单解决

既然我们知道是 SSL 证书抽风的问题,我们又作为伟大的打s不买付费证书的白嫖用户,最好的解决方法莫过于给阿里云 OSS 开个小门,也就是 80 端口。

因为默认配置的 SSL 方式为“完全”,我需要单独给这个域名设置 SSL 为“无”,来支持从 80 端口访问 Cloudflare 。这个可以在“页面规则”中完成。

同时, Cloudflare 在使用“无” SSL 加密时,也可以提供 443 端口的 HTTPS 访问(但是回源还是 80 端口,注意服务器开防火墙允许 80 流入流出),这样 Cloudreve 仍然可以使用 HTTPS 访问。

随后,我们可以来到 Cloudreve 管理面板,将站点 URL 设为 HTTP 协议的。这样,阿里云进行回调将使用 HTTP 协议,也就没有 SSL 证书验证抽风的问题。

当然,大用户建议买个可信的商用证书。目的是让阿里云 OSS 允许访问回调网址就行。

保存之后再上传文件,发现阿里云 OSS 会回调了,问题迎刃而解。

记得提醒用户自己手动改 HTTPS 就行。

补充

捣鼓 HTTPS 跳转时发现,其实不需要页面规则设置为 SSL “关闭”,只需要回调地址设置为 HTTP 的就可以了,阿里云回调直接无视了 Cloudflare (

本作品(《Cloudreve + 阿里云 OSS + Cloudflare 奇幻排错》)采用知识共享署名 4.0 国际许可协议进行许可。转载需注明来源(作者 氧化某人,原文链接 https://blog.yang1120.com/archives/136)。
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇