Amazon s3 在ec2实例上使用Cloudfront到源站时获取405错误代码
我创建了一个cloudfront发行版,它连接到两个来源: 1.我上传的s3静态网站。 2.具有以下配置的nginx docker的ec2实例:Amazon s3 在ec2实例上使用Cloudfront到源站时获取405错误代码,amazon-s3,amazon-ec2,amazon-cloudfront,Amazon S3,Amazon Ec2,Amazon Cloudfront,我创建了一个cloudfront发行版,它连接到两个来源: 1.我上传的s3静态网站。 2.具有以下配置的nginx docker的ec2实例: location /api { proxy_pass http://my_app:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded
location /api {
proxy_pass http://my_app:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
client_max_body_size 1000M;
server_tokens off;
我配置了两种行为
s3具有默认(*)路径模式,允许所有HTTP方法使用源缓存头。转发所有缓存和字符串
ec2路径模式api允许所有HTTP方法使用源缓存头。转发所有缓存和字符串
我得到405分
<html>
<head><title>405 Method Not Allowed</title></head>
<body>
<h1>405 Method Not Allowed</h1>
<ul>
<li>Code: MethodNotAllowed</li>
<li>Message: The specified method is not allowed against this resource.</li>
<li>Method: POST</li>
<li>ResourceType: OBJECT</li>
<li>RequestId: 871316565A038A65</li>
<li>HostId: BHbdP09UWX2xCvW6qqpOQYaGwy4lvgrVVYoSCaLrSBZ2TALZT5kk9Po7k6Akq2FYZ6NojFyINBk=</li>
</ul>
<hr/>
</body>
</html>
405方法不允许
405方法不允许
- 代码:方法不允许
- 消息:不允许对此资源使用指定的方法
- 方法:邮寄
- 资源类型:对象
- 请求ID:871316565A038A65
- 主机ID:BHBDP09UWX2XCVW6QQPOQYAGWY4LVGRVVYoscalRSBZ2TALZT5K9PO7K6AKQ2FYZ6NOJFYINBK=
响应来自S3,您可以在响应中看到RequestId和HostId。
S3支持POST http请求,但需要确保它包含表单数据。具有POST请求的S3只接受表单数据。
如果不能使用表单数据,请使用PUT请求到CloudFront。响应来自S3,因为您可以在响应中看到RequestId和HostId。 S3支持POST http请求,但需要确保它包含表单数据。具有POST请求的S3只接受表单数据。 如果不能使用表单数据,请使用对CloudFront的PUT请求