Angular 路由不适用于 cloudfront + s3

Angular Routes not working with cloudfront + s3

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

我怎样才能让子路由也起作用?我有我的桶政策

存储桶策略

{
 "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]/*"
     }
 ]
}

我阻止了所有 public 访问,但我也在使用带有 OAI 的云端,所以我认为我不需要担心它被阻止,因为它正在通过云端。

感谢任何帮助!

您需要将云端分发的错误文档设置为您的入口文档(index.html)

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

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

希望这对您有所帮助。