停止 Cloudfront 为整个网站提供服务

Stop Cloudfront from serving whole website

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

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

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

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

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

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