跳至主要內容

对象存储静态资源常见操作

FrontendDevOpsS3OBSOSS

对象存储静态资源常见操作

前言

把静态资源放到云厂商的对象存储服务中托管是很常见的实践,但由于涉及的事项较多,故记录下来,方便查阅。

本文主要以阿里云OSS的控制台界面作为操作示例,其逻辑同样适用于华为云OBS、Amazon S3,只是可能界面上有差异,具体需要看相关的官方文档。

阿里云OSS

对于新建的bucket,需要做一些设置,才能正常使用静态资源。

绑定域名

则使用自定义域名访问,可以解决访问 html 变成下载的问题。

CNAME设置

如果绑定的是同一个阿里云账号下的域名,则可以自动添加 CNAME 记录。否则需要手动添加。

查看 bucket 外网地址:my-bucket.oss-cn-shenzhen.aliyuncs.comopen in new window

则去域名解析供应商设置:
static.domain.comopen in new window(自定义域名) -> CNAME -> my-bucket.oss-cn-shenzhen.aliyuncs.comopen in new window

HTTPS证书托管

上传证书,开启 HTTPS

如果没有证书,查看教程获取:🔒免费开启HTTPSopen in new window

公共读

这样可以解决访问链接超时的问题。

CORS跨域设置

在基础设置下,找到跨域设置

在来源中设置域名,或ip地址。下面给出最简单的示例为 *,实际可以根据需要填写允许的域名,一行一个。

  • 将allowed origins设置成 *
  • 将allowed methods设置成GET, POST, PUT, DELETE, HEAD
  • 将allowed headers设置成 *
  • 将expose headers设置成
    • etag
    • x-oss-request-id

这样可以解决字体无法显示、JavaScript跨域的问题。

华为云OBS

跨域设置

华为云的入口如下:

具体规则的填写是类似阿里云OSS的。

上次编辑于:
贡献者: levy