我已经使用路由53部署了一个带有S3和云锋的VueJS应用程序.看起来一切都很顺利.我可以在https://my-domain.com
点访问该网站,并且可以导航到使用Vue router设置的不同路由.然而,当我试图直接访问https://my-domain.com/about
时,我看到以下错误:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<link type="text/css" id="dark-mode" rel="stylesheet" href=""/>
<style type="text/css" id="dark-mode-custom-style"/>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Key>about</Key>
<RequestId>8371CJFJ48JM68239</RequestId>
<HostId>
/fQp7V6SuN0eDPgZpTroQrrxmfVQJTjXtroij56OIJONB56048OIaZDa4snkjc/Ygr/oZu0=
</HostId>
</Error>
以下是我的AWS资源的设置:
S3桶
属性
所有属性都被禁用(我没有静态网站托管设置,因为我使用的是https)
权限(公共)
Public Access Settings所有四个选项都设置为false
Access Control List公共访问:每个人都可以读取和列出对象
桶政策
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadForGetBucketObjects",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucketname.com/*"
}
]
}
CORS配置
这里什么都没有
路由53
我有一个域名,它有一个托管区域,有5条记录:
mydomain.com:创纪录;指向云锋分布的点
默认的NS条和SOA条我没有更改的记录
*.mydomain.com:创纪录;也可以指向前端子域的云锋分布
api.mydomain.com:创纪录;指向后端API服务的ALB
云锋
以下是我的云锋发行版的General
个设置:
Distribution ID: 12356OIJSGSU9I
ARN: arn:aws:cloudfront::123456789012:distribution/ABCD1234
Log Prefix: -
Delivery Method: Web
Cookie Logging: Off
Distribution Status: Deployed
Comment: -
Price Class: Use All Edge Locations (Best Performance)
AWS WAF Web ACL: -
State: Enabled
Alternate Domain Names (CNAMEs):
*.mydomain.com
mydomain.com
SSL Certificate: mydomain.com (abc1234-1234-1234-1234-abcd1234)
Domain Name: abcd1234.cloudfront.net
Custom SSL Client Support: Only Clients that Support Server Name Indication (SNI)
Security Policy: TLSv1.1_2016
Supported HTTP Versions: HTTP/2, HTTP/1.1, HTTP/1.0
IPv6: Enabled
Default Root Object: index.html
Last Modified: 2019-02-19 11:45 UTC-5
Log Bucket: -
我没有设立任何来源地小组.我不确定我是否需要这个,但听起来它可以帮助解决这个问题.
我也听说过AWS Amplify(https://console.aws.amazon.com/amplify/).
我可以更改哪些设置,以便将对域的非root请求路由到VueJS应用程序?