【问题标题】:"No 'Access-Control-Allow-Origin' header is present on the requested resource" - Unity WebGL AWS S3“请求的资源上不存在‘Access-Control-Allow-Origin’标头”- Unity WebGL AWS S3
【发布时间】:2020-01-24 20:05:42
【问题描述】:
在 AWS S3 上存储 Unity WebGL 项目并从另一个域中检索它时,会出现 CORS 错误:
“XMLHttpRequest 无法加载。请求的资源上没有 'Access-Control-Allow-Origin' 标头”
此错误仅发生在 .unityweb 文件中,.json 和 .js 文件工作正常。
这个问题的许多旧解决方案不再起作用,但我发现了一个新的解决方案,它确实隐藏在一些评论中。我认为创建一个新问题并自己回答会更容易,以防其他人需要它。
【问题讨论】:
标签:
amazon-web-services
amazon-s3
cors
unity-webgl
【解决方案1】:
在您的 S3 存储桶中转到权限,然后选择 CORS 配置。
将其粘贴到:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
“HEAD”允许方法是重要的方法,它允许检索 .unityweb 文件。