Nuxt 2.13完整的静态AWS S3问题

时间:2020-07-13 08:54:01

标签: amazon-web-services amazon-s3 nuxt.js

Nuxt 2.13现在使您可以选择将universal应用程序转换为full static site

我将nuxt升级到2.13.3,在static中设置了目标:nuxt.config.js,然后运行nuxt build && nuxt export

现在我在/ dist文件夹中有静态文件。当我使用MAMP查看/ dist文件夹时,一切正常,我可以导航到子页面并刷新页面。

问题是我上传到S3 + Cloudfront

S3存储桶设置为静态Web托管。 Index documentError document设置为index.html-当我导航到存储桶内容时,我能够加载页面并导航到子页面。但是,当我刷新子页面时,会向用户显示index页面。

在s3存储桶上,我尝试启用所有公共访问权限-这不起作用。

这是我的存储桶策略

{
    "Version": "2008-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "AllowPublicRead",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXX"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::cdn-frontend/*"
        }
    ]
}

cloudfront上,Default Root Object设置为index.html

1 个答案:

答案 0 :(得分:0)

后备或错误页面的文件名是什么?在nuxt config中,您可以提供以下选项以生成名称与index.html不同的文件,

  generate: {

    fallback: '404.html',
}

这在生成操作期间将创建404.html文件,您可以在静态网站托管中将其用作错误页面。