Amazon web services 访问CloudFront Amazon S3静态网站中的页面时拒绝访问
我在AmazonS3上部署了一个Angular静态网站,并使用了Cloudfront。当我访问默认页面Amazon web services 访问CloudFront Amazon S3静态网站中的页面时拒绝访问,amazon-web-services,amazon-s3,amazon-cloudfront,Amazon Web Services,Amazon S3,Amazon Cloudfront,我在AmazonS3上部署了一个Angular静态网站,并使用了Cloudfront。当我访问默认页面myurl.com/时,一切正常,我可以浏览页面。但是,如果我直接进入某个页面,比如说,我会被cloudfront拒绝访问。如果我使用AmazonS3网站端点执行此操作,将得到404响应 S3 Cloudfront 声明出于多种原因,将在CloudFront中返回403。其中一个解决方案是请求的对象必须存在于bucket中。 当您试图访问一个不存在的对象时,CloudFront可能会将其转换为
myurl.com/
时,一切正常,我可以浏览页面。但是,如果我直接进入某个页面,比如说,我会被cloudfront拒绝访问。如果我使用AmazonS3网站端点执行此操作,将得到404响应
S3
Cloudfront
声明出于多种原因,将在CloudFront中返回403。其中一个解决方案是请求的对象必须存在于bucket中。
当您试图访问一个不存在的对象时,CloudFront可能会将其转换为您正在接收的403
您应该尝试访问一个只存在的密钥,并将s3端点配置为在页面不存在时使用。在我的情况下,我设置了一个默认的根对象,等待大约10分钟后,一切正常,因此设置更改为同步。 要使用CloudFront控制台指定默认根对象,请执行以下操作: 登录AWS管理控制台并在打开Amazon CloudFront控制台 在顶部窗格的分发列表中,选择要更新的分发 在“分发详细信息”窗格的“常规”选项卡上,单击“编辑” 在“编辑分布”对话框的“默认根对象”字段中,输入默认根对象的文件名 仅输入对象名称,例如index.html。不要在对象名称之前添加/
要保存更改,请单击“是”,然后单击“编辑”。它会为您提供哪些其他信息?您是如何配置它的?您使用的是网站还是标准bucket?@ChrisWilliams除了hostId和requestId之外,它没有给我任何其他信息。我使用网站端点谢谢,我在网站托管属性中将错误文档设置为index.html,它解决了这个问题。没问题,祝您度过愉快的一天