Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 访问CloudFront Amazon S3静态网站中的页面时拒绝访问_Amazon Web Services_Amazon S3_Amazon Cloudfront - Fatal编程技术网

Amazon web services 访问CloudFront Amazon S3静态网站中的页面时拒绝访问

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可能会将其转换为

我在AmazonS3上部署了一个Angular静态网站,并使用了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,它解决了这个问题。没问题,祝您度过愉快的一天