CDN 上包含一些动态内容和一些静态内容的子域名

CDN 上包含一些动态内容和一些静态内容的子域名

这就是我想要做的。我知道我无法做到一切;我想看看我能做到多少,或者是否有人有创造性的解决方案。

目标是让我能够将 HTML+CSS+JS 部署到 dynamicsubdomain.example.com。HTML/CSS/JS 不知道它将像这样部署,并且任何包含的 CSS+JS+图像都将使用相对 URL。

  • 将 HTML 文件托管在动态位置,这样我就可以在显示 HTML 之前检查它们是否已登录。HTML 不是动态的;我只需要确保在显示之前对它们进行验证。如果我可以将 HTML 托管在 CDN 上并以某种方式进行验证,那就更好了。
  • 在 CDN 上托管静态文件(如 CSS+JS+图片)。但是,这些文件应该可以通过相对 URL 访问。
  • 每个网站(很多)都将位于不同的子域中。因此,我认为我需要通配符 DNS。(我愿意接受其他解决方案。)

最好的设置是什么,可以尽可能多地获得这些?

答案1

您需要的是具有反向代理功能的 CDN。这些提供商有时也称自己为“网站加速器”。其工作方式是,您将 DNS 指向他们的服务器,然后他们将请求代理回您的原始服务器。

这种设置的优点在于:

  1. 缓存静态内容。 这是您的 css、javascript、图像等。任何带有缓存标头且表明可以缓存的内容都将被缓存。
  2. 分发缓存的内容。此类服务的优质提供商会设置任播,以便从距离请求者最近的网络位置提供内容。这对您的澳大利亚访客来说非常有利。
  3. 仍然使用与经过验证的内容相同的域。 这意味着您可以愉快地对所有内容使用相对 URL。

还有许多其他优点,与您所问的问题无关,具体优点取决于您选择谁作为您的反向代理。

缺点:

  1. 经过身份验证的请求将会有一些额外的延迟。 增加的延迟不应该过多。
  2. SSL 可能比较棘手。 将您的 SSL 证书放在子域名上会很方便。在主域名上仍然可以这样做。

我不知道这些服务是否以与单个域名相同的价格提供通配符 DNS,但其中一些服务会免费提供单个域名。

CloudFlare 是这类服务的主要提供商。还有其他提供商,由于我们不提供购物建议,因此您必须自己选择你自己的

相关内容