新浪微博加防盗链有段时间了,但是允许空 Refer 访问,虽然在 Chrome 浏览器可以添加代码让图片正常加载,但是兼容性不好。于是就有了 CDN 反代新浪图床的方法。
配置过程
-
阿里云 CDN 管理页面中添加一个 img.xxx.xxx 域名的 CDN,我的主域名是 flinty.moe. 所以这里就以 img.flinty.moe 为例
-
由于新浪图床的地址本身就是一个 CDN 域名,所以“源站地址”里不能填新浪图床的域名,需要查询到新浪图床某个具体的 CDN IP 地址,端口选择 HTTPS
-
添加好后,把 CNAME 配置到你的 NS 服务上
-
在“回源设置”中打开回源 Host,域名填一个新浪的图床域名,随便哪个都行,比如我这里的 tva1.sinaimg.cn
-
回源 SNI 也设置一下,地址跟 HOST 地址一样
-
签一个这个图床 CDN 域名的证书,或者你域名的通配符证书,然后在“HTTPS设置”中把证书添加一下
-
打开 HTTP/2
-
打开 TLS 1.3,关闭 1.0 和 1.1
-
打开防盗链,注意把允许空 Refer 关闭,建议选择白名单,然后添加一个你需要放图片的地址,比如你的博客地址
使用方式
-
将图片上传至新浪图床,工具一大堆,你要用 Chrome 的话在商店随便搜就有,FireFox 我用的这个
-
不管你用的什么工具上传,请务必勾选 https
-
上传时不需要管生成后的域名是什么,即使不是刚才回源配置里的 tva1.sinaimg.cn 也没有关系,你只需要把这一部分换成你配置的 CDN 域名就可以