使用阿里云 OSS 存储服务和 CloudFlare 配置图床,通过自定义域名实现对私有图床的 CDN 访问,一定程度上提升图床的安全性并且降低流量费用。

前言

为什么不直接使用阿里云 OSS 搭建图床,而要多此一举呢?

带宽联盟Cloudflare 推出的一项服务,由一群具有前瞻性思维的云服务和网络公司组成,致力于为共同客户降低或免除数据传输(带宽)费用。

带宽联盟之间的网络数据传输是直连的,中间不经过任何网络提供商(比如移动),所以成本自然很低,虽然有时候 Cloudflare 是 “减速 CDN”,但是既然咱选择了白嫖,也就无所谓了。

配置流程

1、创建 Bucket

创建 Bucket 时选择海外的地域(如果在别的地域没有服务器的话,就使用香港),存储类型选择标准存储,其余的附加服务按需启用(有的得加钱)

image-20250529031527255

2、配置访问权限

但为了让图床正常使用,需要设置让 Cloudflare ip 能够访问阿里云 OSS

1
173.245.48.0/20,103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,141.101.64.0/18,108.162.192.0/18,190.93.240.0/20,188.114.96.0/20,197.234.240.0/22,198.41.128.0/17,162.158.0.0/15,104.16.0.0/13,104.24.0.0/14,172.64.0.0/13,131.0.72.0/22

进入创建的 Bucket,选择【权限控制】-【Bucket 授权策略】,添加授权,配置如下图

image-20250529032540282

3、配置 CDN

在 CloudFlare 的 DNS 管理面板添加 CNAME 记录,目标设为 Bucket 的域名,代理状态设为已代理,否则 CDN 不起作用。

image-20250529033304290

4、绑定域名

在阿里云的【Bucket 配置】-【域名管理】绑定你刚设置的域名,按照阿里云给出的提示在 CloudFlare 的 DNS 管理处添加指定 TXT 记录即可

image-20250529035225584

5、创建并添加 SSL 证书

  • 在 CloudFlare 的配置面板的【SSL/TLS】-【源服务器】处,选择创建证书,创建之后会告诉你源证书与私钥,这个界面暂时不要动

  • 在阿里云控制台绑定证书的界面,选择【证书托管】,按照阿里云提示上传 SSL 证书即可

以上步骤操作完成后,就可以通过自定义域名访问图片了!!!

安全性配置

1、设置错误页

在阿里云 OSS【数据管理】-【静态页面】下,设置静态网站 index.html 和错误页 404.html

image-20250529034928614

2、跨域设置

在阿里云【数据安全】-【跨域设置】中创建跨域规则,来源设置为你的网站的地址(为了能让网站在本地测试时也能正常展示图片),同时添加 localhost:*127.0.0.1:*(方便本地调试)

3、防盗链设置

和跨域设置类似。不同之处在于 Referer 是包含请求协议的,所以只需要 将上面的配置加上 http 协议头即可