角路由不适用于Cloudfront + S3

时间:2020-01-06 19:54:52

标签: angular amazon-s3 amazon-cloudfront

当前,只有启动应用程序时的默认路由会在Cloudfront中加载我的应用程序。当我使用cloudfront.[address].net进入站点根目录时,它也起作用,我也使用WAF将其限制为仅我的IP地址,但是当我进入cloudfront。[address] .net / signup或/ login时,我得到了

enter image description here

我如何也可以让孩子们上班?我有自己的存储桶政策

时段政策

{
 "Version": "2008-10-17",
 "Statement": [
     {
         "Sid": "3",
         "Effect": "Allow",
         "Principal": {
             "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E2SRF18SRG0FC7"
         },
         "Action": "s3:GetObject",
         "Resource": "arn:aws:s3:::[bucket]/*"
     }
 ]
}

我正在阻止所有公共访问,但是我还将Cloudfront与OAI一起使用,因此我认为不必担心它会因为穿过Cloudfront而被阻止。

enter image description here

感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

您需要将cloudfront发行版本的错误文档设置为您的输入文档(index.html)

请确保您已完成以下步骤。

  1. S3存储桶策略,仅允许Cloudfront执行GetObject
  2. 对于HTTP /index.html404错误代码,Cloudfront发行版的自定义错误响应设置为403
  3. Cloudfront处于deployed状态,因为Cloudfront可能需要更长的时间,而且我们很容易犯观察错误

希望这会有所帮助。