【问题标题】:Stop Cloudfront from serving whole website阻止 Cloudfront 为整个网站提供服务
【发布时间】:2019-09-10 22:55:47
【问题描述】:

我想将 Cloudfront 用作我的 CSS、JS、图像等的 CDN...我已经在 AWS 上设置了一个分发,其源域名为 mywebsite.com。该发行版有一个备用域名cdn.mywebsite.com。如果我的用户访问cdn.mywebsite.com,他们将获得整个网站的服务。我不希望这成为可能。我的CNAME 设置为指向 Cloudfront 分发版(即***.cloudfront.net)。

有没有办法阻止这种行为?

【问题讨论】:

  • 我不明白,你有两条dns记录:mywebsite.com和cdn.mywebsite.com,它们都指向同一个云端分布,而且两条记录都是云端分布上的域名。他们都去同一个起源,对吗?另外,您的来源是什么 - ELB 指向 EC2 实例? ALB?
  • 好吧,也许我设置错了。我想从 CDN 提供 CSS/JS/图像。这些文件需要从网站 mywebsite.com 中提取。我的云前端的 CNAME 是 cdn.mywebsite.com。目前,如果我导航到 cdn.website.com,我会得到服务 mywebsite.com
  • 另外,它指向一个运行 Nginx 的 DigitalOcean 服务器。

标签: amazon-web-services amazon-cloudfront


【解决方案1】:

我认为您在设置中混合了两种使用 CDN 的不同方式。

  1. 例如,如果您将所有图像都托管在 S3 存储桶中,您可以将 CDN 指向该存储桶,将其命名为 cdn.images.com。然后在您的网站上,您会将所有图像引用为 cdn.mywebsite.com/potato.jpeg。然后,CDN 会将您的图像存储在您的边缘位置。您网站的 dns 记录 (www.mywebsite.com) 仍直接指向您的服务器 - 而不是您的 CDN,但您的图像是从您的 CDN 中提取的。

  2. 另一种选择是,如果您的所有内容、网站和所有内容都在一台服务器上 - 并且您将 CDN 指向该服务器。因此,您的网站是 www.mywebsite.com,并且因为您只想将 jpeg 存储在 CDN 上,而其他所有内容都必须返回原点,所以您在缓存中进行了设置。您的 www.mywebsite.com 的 DNS 记录被指向您的 CDN

您似乎希望执行选项 1,但您的设置更像选项 2。 由于您的所有内容似乎都存储在您的数字海洋服务器上 - 我只需要一个 www.mywebsite.com 的 URL 并将其指向您的数字海洋服务器。然后,您在 CDN 配置中的缓存行为将只有 *.jpeg、*.css、*.etc...

【讨论】:

  • 谢谢,你是对的。我并没有真正考虑到 CloudFront 设置中的行为部分。
  • 乐于助人。干杯。
猜你喜欢
  • 2022-01-05
  • 1970-01-01
  • 2018-11-05
  • 2016-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-17
  • 1970-01-01
相关资源
最近更新 更多