我的问题是关于拥有AWS Cloudfront、名称便宜的dns和S3 bucket。
TLDR:当我试图通过我的namecheap DNS访问我的网站时,它会抛出403错误,并显示消息"Bad request"。我们现在无法在我的浏览器中连接到此应用程序或网站的服务器。然而,当我通过Cloudfront提供的DNS访问我的网站时,它运行良好。
我有以下设置:
- 名称廉价域名,CNAME指向AWS Cloudfront Distribution域名
- Cloudfront指向托管静态网站的S3 bucket(bucket网站端点(
- 有两个自定义错误响应将400和403映射到200 OK和/index.html
- bucket设置为"公共访问",阻止访问关闭我对此也有以下政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::cryptocopytradeprod/*"
}
]
}
当我从bucket端点或Cloudfront的Distribution域名打开网站时,一切都很好。然而,当我从Namecheap DNS打开网站时,它会抛出403。我不知道为什么。。。
你能介绍一下吗?
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html
此外,当我们使用源访问控制(OAC(和源访问标识(OAI(时,我们不需要将bucket保持为公共的。
此外,您需要在CloudFront中定义备用域名,并在NameCheap中使用CloudFront Distributions域名作为CName,甚至可以为此配置Cloudflare DNS。