【发布时间】:2015-04-20 00:56:56
【问题描述】:
我有以下 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 接收到 /abc 的 POST 时将请求和请求正文重定向到我的 ec2 实例。重定向规则工作正常(我能够通过将 POST 切换为 GET 请求来测试这一点),但由于任何原因,当请求是 POST 时,S3 返回 HTTPResponse 405。任何想法为什么?
【问题讨论】:
-
我在重定向后可以找到的有关此错误的引用似乎表明,如果您重定向到文件夹而不是文件,或者重定向到没有默认文档集的文件夹,就会发生这种情况。是其中之一吗?
-
嗨@monkeymatrix 感谢您的回答!我的问题不是重定向操作(至少我是这么认为的)。对我来说,问题是 S3 作为静态网站主机不允许我从网页内的 javascript 发送 HTTP POST。我想要完成的是创建一个登录页面,用户可以在其中留下他们的联系方式,然后网页通过 POST 将他们的联系方式发送到 S3,最后 S3 重定向到保存发送的 json 数据的 ec2 实例。
标签: amazon-web-services amazon-ec2 amazon-s3 http-post http-status-code-405