我具有用于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>
<MaxAgeSeconds>3000</MaxAgeSeconds>
</CORSRule>
</CORSConfiguration>
然后,我具有以下编辑重定向规则:
<RoutingRules>
<RoutingRule>
<Condition>
<KeyPrefixEquals>abc</KeyPrefixEquals>
</Condition>
<Redirect>
<HostName>myec2instance.com</HostName>
</Redirect>
</RoutingRule>
我想做的是,当S3收到POST到/ abc时,将请求和请求正文重定向到我的ec2实例。重定向规则正常运行(我能够通过将POST切换为GET请求来测试此规则),但是由于任何原因,当请求为POST时,S3都将返回HTTPResponse 405。有什么想法吗?
这与CORS无关-它是S3本身。 S3网站端点仅适用于GET
和HEAD
。在检查重定向规则之前,应拒绝任何其他内容。
网站端点
如果要对POST
使用S3
请求,则需要通过创建POSTPolicy
以获得S3 authentication
在浏览器中使用根对象