添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Table of Contents

Toggle

使用OSS(对象存储服务(Object Storage Service,OSS))来对我们的网站进行加速的是很常见的操作了,最近在使用阿里云OSS的时候,配置完发现部分字体文件加载失败,网页有些图标可能也显示不出来,例如下面这种情况:

https://www.linfengnet.com
https://www.linfengnet.com/*
https://linfengnet.oss-cn-guangzhou.aliyuncs.com
https://www.linfengnet.com/*

允许的Methods 勾选 GET既可以,如果资源存在其他请求方式把对应的勾上即可。

允许 Headers 设置为 *

其他选项的没有额外需求保持默认就可以了。

防盗链不知道会不会导致类似的问题,如果的你OSS Bucket设置了防盗链,又有对应的问题,也可能是防盗链的问题, 把上述自己的域名加到白名单Referer中应该也能解决了。下面附一下阿里云官方文档内容:

官方文档内容

OSS跨域资源共享(CORS)错误排除

复制引用时间:2024年2月23日 20:49:24

复制文档时显示的更新时间:2023-10-26 16:40:49

文档链接:https://help.aliyun.com/zh/oss/user-guide/oss-cors-errors-and-troubleshooting

  • 浏览器报403错误,具体如下: OPTIONS http://bucket.oss-cn-beijing.aliyuncs.com/ XMLHttpRequest cannot load http://bucket.oss-cn-beijing.aliyuncs.com/. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '{yourwebsite}' is therefore not allowed access. The response had HTTP status code 403.
  • OSS报CORS请求不允许的错误,具体如下: <Code>AccessForbidden</Code> <Message>CORSResponse: This CORS request is not allowed. This is usually because the evaluation of Origin, request method / Access-Control-Request-Method or Access-Control-Request-Headers are not whitelisted by the resource's CORS spec.</Message>
  • 若问题仍然未解决,请任意登录一台服务器,执行以下命令,查看跨域请求头。 curl -voa '[$URL1]' -H 'Origin:[$URL2]' 说明
    • [$URL1]为需要请求的OSS资源链接。
    • [$URL2]为您配置跨域规则的来源地址。
    系统显示类似如下。 使用阿里云OSS字体文件加载失败问题解决 5
  • 如果出现返回结果存在一个跨域头且符合您配置的跨域头,那么出现跨域问题,可能是由于缓存问题导致,请参考以下解决方法: 您第一次请求没有触发跨域,返回的数据被本地缓存,而第二次触发跨域的请求没有请求服务器端,而是直接获取本地的缓存,导致跨域校验失败。
  • 在浏览器页面单击 Ctrl + F5 ,清理浏览器缓存,然后在测试跨域问题是否还存在。
  • 您将该OSS资源跨域配置的 缓存时间 设置为0,这样可避免该资源在客户端进行缓存,每次请求都会重新在服务器端获取鉴权信息。 说明 您可以在上传文件时设置文件的cache-control为no-cache,已经上传的文件可以使用ossutil工具进行更改,如何设置cache-control请参见 set-meta(管理文件元信息)
  • 使用CDN加速OSS,这样CDN所有请求都会返回CORS头。
  • 服务器相关 网络杂事

    phpstudy打开phpMyAdmin出现Fatal error: Unparenthesized a ? b : c ? d : e is not supported. Use either错误解决办法

    2024-1-28 17:11:00

    联系站长

    热门文章

    • Python爬虫报错:(Caused by SSLError(SSLEOFError(8, ‘EOF occurred in violation of protocol (_ssl.c:1129)’)))解决