【问题标题】:Amazon S3 CORS 405 response to OptionsAmazon S3 CORS 405 对选项的响应
【发布时间】:2018-04-17 05:28:31
【问题描述】:

这是我的 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>DELETE</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

我无法为允许的方法设置选项。我也尝试过 Cloudfront,但没有运气。

这是我在 Cloudfront 中的 conf:

是否有任何简单的方法可以为 S3 中的所有 Option 方法提供 200?

【问题讨论】:

  • 可能的旁注:确保在故障排除时将 CloudFront 错误缓存 TTL 设置为 0,否则您可能设置正确但没有意识到,因为您收到缓存的错误响应。默认情况下,为了防止重复的无效请求被不必要地发送到源服务器,如果在 5 分钟内再次发出相同的请求,CloudFront 会缓存错误响应以供重复使用。有关将这些计时器设置为 0 的说明和步骤,请参阅 Amazon CloudFront Latency
  • @Michael-sqlbot:更新:我实际上使用的是 ElastiBeanstalk 端点,而不是云端。有什么想法可以改变它吗?

标签: amazon-web-services amazon-s3 cors


【解决方案1】:

AllowedMethod 应该支持OPTIONS http://docs.aws.amazon.com/cloudfront/latest/APIReference/API_AllowedMethods.html

以下响应标头之一:

Access-Control-Allow-Methods
Access-Control-Allow-Headers
Access-Control-Allow-Origin

是启用 OPTIONS 所必需的,请检查您的配置: http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html

【讨论】:

  • 感谢您的回答。我使用 Cloudfront 设置上传了一张图片。我不使用 API 网关,我使用 S3 存储桶并将 Cloudfront 链接到它。
  • 啊对不起,我一直在使用 API Gateway,当我在您的帖子中看到 CORS 时,我只能看到这些,哈哈。我不确定你是否已经看过这个,但我会发布它以防万一:亚马逊发布了一篇关于如何排除 CORS 问题的文档docs.aws.amazon.com/AmazonS3/latest/dev/…
  • 更新:我实际上使用的是 ElastiBeanstalk 端点,而不是云端。有什么想法可以改变它吗?
猜你喜欢
  • 2014-08-04
  • 2013-05-03
  • 2016-09-04
  • 2018-02-19
  • 2015-04-20
  • 2017-12-30
  • 2012-09-19
  • 2014-09-29
  • 1970-01-01
相关资源
最近更新 更多