【问题标题】:Serving S3 with Cloudfront content to a client向客户端提供带有 Cloudfront 内容的 S3
【发布时间】:2021-04-12 04:14:42
【问题描述】:

我需要为客户提供 S3 Cloudfront。他们拥有并控制自己的域名clientdomain.com 客户端指定 admin.clientdomain.com 为 S3 的名称。

现在我创建了一个具有特定名称 admin.clientdomain.com 的 S3 存储桶并使用它配置 Cloudfront 并生成 对应的域名abc123xxx.cloudfront.net

我向客户提供了这些信息 (admin.clientdomain.com ---> abc123xxx.cloudfront.net) 这样他们就可以在他们的 DNS 管理器中创建一个 CNAME 条目。

当我浏览 abc123xxx.cloudfront.net 时,它会显示页面和网站内容,但是当我尝试浏览 admin.clientdomain.com 时,它会出错:

403 错误 无法满足请求。错误的请求。我们不能 此时连接到此应用程序或网站的服务器。那里 可能是流量过多或配置错误。稍后再试, 或联系应用程序或网站所有者。如果您将内容提供给 客户通过 CloudFront,您可以找到故障排除步骤和 通过查看 CloudFront 文档来帮助防止此错误。 由 cloudfront (CloudFront) 生成的请求 ID: rt8tyVw7z08KccR0blotyc9IlgBzybuaEJ

其他信息:

  • 我们没有WAF
  • 将分发设置为接受“HTTP 和 HTTPS”
  • 默认的根对象指向“index.html”
  • 在行为上,基于选定请求标头的缓存设置为“无”

问题:

  1. 我仍然收到 403 错误消息
  2. 根据谷歌搜索,有人提到使用 ssl 填充 Cloudfront Distribution 的“备用域名”:“admin.clientdomain.com”
  3. 我需要获取客户端的 SSL 证书吗?如何解决这个问题?

【问题讨论】:

    标签: amazon-s3 amazon-cloudfront


    【解决方案1】:

    这里有多个潜在的问题,让我们尝试一一排除。

    验证以下 URL 是否可用并提供内容:

    • https://<your-distribution-id>.cloudfront.net
    • http://<your-distribution-id>.cloudfront.net

    我们不知道 CNAME 记录是否设置正确。验证您是否可以使用dig 之类的工具来检查 CNAME 记录,例如dig CNAME admin.clientdomain.com - 确保它指向 CloudFront 域。

    确保 admin.clientdomain.com 位于 CloudFront 分配的“备用域名 (CNAME)”中。在这种情况下,至少 http 应该可以工作。

    尝试访问:http://admin.clientdomain.com

    如果可行,我们已经取得了进展。现在转到 HTTPS/SSL/TLS。为了让 CloudFront 能够为 admin.clientdomain.com 提供 HTTPS 内容,它需要一个证书。幸运的是,您可以使用亚马逊证书管理器 (ACM) 来request a free one。在 ACM us-east-1(北弗吉尼亚) 区域中为 admin.clientdomain.com 创建一个证书,然后配置 CloudFront 以使用该证书。请注意,您的客户必须添加额外的 DNS 记录以验证他们拥有 admin.clientdomain.com - 或者您可以将现有证书导入 ACM。

    之后你应该可以访问https://admin.clientdomain.com

    【讨论】:

      猜你喜欢
      • 2013-11-05
      • 2014-04-17
      • 2017-05-21
      • 2023-03-21
      • 1970-01-01
      • 2021-12-28
      • 2020-08-05
      • 1970-01-01
      • 2021-04-19
      相关资源
      最近更新 更多