Amazon web services AWS S3静态网站托管的路由规则
我已经成功地将我的S3存储桶配置为一个静态网站,如果在存储桶中找不到文件,还可以重定向到lambda函数Amazon web services AWS S3静态网站托管的路由规则,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我已经成功地将我的S3存储桶配置为一个静态网站,如果在存储桶中找不到文件,还可以重定向到lambda函数 <RoutingRules> <RoutingRule> <Condition> <KeyPrefixEquals/> <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals> </Condition&g
<RoutingRules>
<RoutingRule>
<Condition>
<KeyPrefixEquals/>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<Protocol>https</Protocol>
<HostName>mylambda.execute-api.us-east-1.amazonaws.com</HostName>
<ReplaceKeyPrefixWith>/?key=</ReplaceKeyPrefixWith>
<HttpRedirectCode>307</HttpRedirectCode>
</Redirect>
</RoutingRule>
</RoutingRules>
404
https
mylambda.execute-api.us-east-1.amazonaws.com
/?钥匙=
307
如果我使用静态网站的http url,它可以正常工作
但是如果我使用https bucket url,它就不起作用了。它返回AccessDenied
我还尝试添加cloudfront,问题也是一样的。
给我相同的访问拒绝
就像不使用https一样吗?第一个url:
mybucket.s3网站-us-east-1.amazonaws.com/some-file.gif
这是一个很好的例子。它只支持HTTP,不支持HTTPS。写:
网站端点不支持HTTPS或Amazon S3访问点
第二个url:
s3.amazonaws.com/mybucket/some-file.gif
仍然在弗吉尼亚州北部地区使用。使用这些(即服务端点):
以编程方式连接到AWS服务
它们都是HTTP和HTTPS
因此,回答您的问题时,https://mybucket.s3-website-us-east-1.amazonaws.com/some-file.gif失败,因为网站端点不支持https
失败,因为它用于编程访问,而不是使用浏览器或curl。但是,如果将对象设置为公共,则应该能够访问它们
对于CloudFront,您需要提供更多信息或创建新问题。这取决于您如何设置CF disto和bucket。ok,因此无法使用s3端点进行设置。我认为cloudfront可以工作,但它可能会导致无限循环,因为错误页面将被缓存。对于网站端点,cloudfront通常用于提供https。没有循环。我建议针对cloudfront创建一个新问题,您正在设置该问题,以及问题是什么。感谢您的建议@Marcin这里是后续问题:@shammy没问题,谢谢您的链接。如果你对答案满意,接受它将不胜感激。