使用 Route53 通过 cludfront distribituin 为我的 s3 存储桶提供 https 请求

问题描述 投票:0回答:1

0 我花了将近 3 天的时间进行试验、错误、文档等,但没有解决我的问题。我很确定我一遍又一遍地犯同样的错误。请尝试阅读我的步骤并找出为什么我不能在网址中使用我的域名来获取我的网站。

我将静态文件作为网站上传到 s3 存储桶中。 => 该网址在 http://myBucket.s3-website.my-region.amazonaws.com/ => 我的 s3 区域运行良好

路线 53:我从 aws 路线 53 购买了一个新域“myDomain.net”

路线 53:创建了新的主机区域,并从 ns 类型的记录中将其中的值复制到剪贴板

route53:注册域 => 操作 => 编辑名称服务器 => 粘贴上一个状态示例中的值:ns-xyz.awsdns-ab.net 和所有其他 => 现在我域的所有名称服务器都与 ns 记录相同在我的主机区

证书管理器 => 我在美国东部(弗吉尼亚北部)地区创建了公共证书并等待状态:已颁发

ACM 和 Route53:在新的 ssl 证书中,我单击“在 Route53 中创建记录”按钮,然后在我的主机区 => 值中创建了 CNAME 记录:someToken.someString.acm-validations.aws。

cloudFront:创建分发 => 原始域,它向我显示我的 s3 存储桶的自动完成 => myDomain.s3.il-central-1.amazonaws.com,我知道它应该使用 s3 url 格式作为“http://” myBucket.s3-website.my-region.amazonaws.com/”所以我粘贴了 s3 url 格式,但现在在协议中显示仅显示 HTTP 选项 => 查看器协议策略我更改为将 HTTP 重定向到 HTTPS => 不启用安全性保护 => 备用域名 (CNAME) - 可选,我设置为 myDomain.net => 自定义 SSL 证书 - 可选 - 第 5 步中创建的证书 单击创建分发按钮并测试新 URL“https://someId.cloudfront” .net”并且运行良好。现在看来我的 s3 和 cloudfront 已连接,我猜

route53:创建记录=>记录名称我将其保留为空(我的备用名称与我的区域相同...也许这是一个错误,我不应该创建备用名称?)=>记录类型 - A =>别名 ->云前端分布的别名 -> someId.cloudfront.net 单击创建记录

现在我尝试使用 https 或事件 http 导航到“myDomain.net”,但没有任何反应,我得到了 DNS_PROBE_FINISHED_NXDOMAIN (也以隐身方式检查)

我做错了什么?

amazon-web-services amazon-s3 amazon-cloudfront amazon-route53
1个回答
0
投票

您在cloudFront配置后检查过您的存储桶的隐私政策吗?

您的 s3 存储桶应该:

  • 阻止所有公共访问
  • 有适当的存储桶政策

为了阻止公共访问,请转到存储桶的“权限”选项卡,然后选择“

Edit
”部分下方的“
Block Public access
”按钮,然后选中“阻止所有公共访问”并保存。

第二步是配置存储桶策略,您可以从cloudfront分发菜单中复制配置。

  • 选择从 CF 菜单创建的 CF 发行版
  • 单击
    Origins
    选项卡,选择 S3 源,然后单击
    Edit
  • 在原始访问部分选择
    Origin Access Control Setting
  • 如果没有 Origin 访问控制,请创建一个新的,否则选择与您的 s3 存储桶相关的一个
  • 单击
    Copy Policy
    按钮复制存储桶策略,然后选择
    Go to s3 bucket permissions
    链接
  • 在新选项卡中,通过复制从 cloudfront 获取的策略来编辑存储桶策略
  • 记得保存bucket和CF页面

完成这些设置后,应该可以访问网页。 希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.