阿里云图片跨域访问设置
主流的做法都是使用 https,然后将图片上传到云服务器,比如阿里云,腾讯云等。
但是页面访问会发现图片有时无法显示,这是因为跨域请求的原因。
解决方案
域名绑定
以阿里云为例,进入 OSS 管理控制台,Bucket 列表,点击需要处理的 Bucket,进入一个特定页面。左边有菜单。
传输管理 -> 域名管理 -> 绑定域名 -> 下面必须选择一个自己拥有的域名 比如叫 pic.aaa.com ,没有就添加 -> 最右侧,域名绑定配置
它的文字教你怎样绑定自己的域名,并告诉你绑定域名 ,是一个以 aliyuncs.com 为结尾的域名。
现在进入你的域名管理控制台。
记录类型 CNAME
主机记录:pic
记录值:就是上面那个 以 aliyuncs.com 为结尾的域名,要填写完整。
证书托管
回到 OSS 管理控制台,刚才最右侧的《域名绑定配置》链接 ,上面就是 证书托管 链接,点击进入。
证书来源:自定义上传。
证书名称:购买的地方有显示,没有就随便写。
公钥和私钥:假如在阿里云购买的证书,进入阿里云的 《数字证书管理服务》-> SSL 证书 -> 你的证书最右侧有下载链接 -> 选择 Nginx 右边的下载,打开后,pem 结尾的就是公钥,key 结尾的文件就是私钥。
填入即可。
成功后,域名右侧的 https 证书下出现 证书详情 链接,可以点击核实。
防盗链设置
点击需要处理的 Bucket,进入一个特定页面。左边有菜单。
权限管理 -> 防盗链 -> 设置
假设我自己的网站 是 www.bbb.com, 这样的话。
Referer 填写 *.bbb.com
空 Referer 设置成允许,绿色按钮。
跨域设置
点击需要处理的 Bucket,进入一个特定页面。左边有菜单。
权限管理 -> 跨域设置 -> 设置
创建规则。
来源:(只填写一个星号)
允许方法:全部打勾,是全部选中。
允许 Headers:(只填写一个星号)
暴露 Headers:不填
缓存时间:0
返回 Vary: Origin:这里打勾。
总结
经过这么多的处理之后,总算能愉快的使用云服务器的图片了,减少本机的请求流量。