对象存储静态资源常见操作
对象存储静态资源常见操作
前言
把静态资源放到云厂商的对象存储服务中托管是很常见的实践,但由于涉及的事项较多,故记录下来,方便查阅。
本文主要以阿里云OSS的控制台界面作为操作示例,其逻辑同样适用于华为云OBS、Amazon S3,只是可能界面上有差异,具体需要看相关的官方文档。
阿里云OSS
对于新建的bucket,需要做一些设置,才能正常使用静态资源。
绑定域名
则使用自定义域名访问,可以解决访问 html 变成下载的问题。
CNAME设置
如果绑定的是同一个阿里云账号下的域名,则可以自动添加 CNAME 记录。否则需要手动添加。
查看 bucket 外网地址:my-bucket.oss-cn-shenzhen.aliyuncs.com
则去域名解析供应商设置:
static.domain.com(自定义域名) -> CNAME -> my-bucket.oss-cn-shenzhen.aliyuncs.com
HTTPS证书托管
上传证书,开启 HTTPS
如果没有证书,查看教程获取:🔒免费开启HTTPS
公共读
这样可以解决访问链接超时的问题。
CORS跨域设置
在基础设置下,找到跨域设置
在来源中设置域名,或ip地址。下面给出最简单的示例为 *,实际可以根据需要填写允许的域名,一行一个。
- 将allowed origins设置成
*
- 将allowed methods设置成
GET, POST, PUT, DELETE, HEAD
- 将allowed headers设置成
*
- 将expose headers设置成
etag
x-oss-request-id
这样可以解决字体无法显示、JavaScript跨域的问题。
华为云OBS
跨域设置
华为云的入口如下:
具体规则的填写是类似阿里云OSS的。