【问题标题】:Using Microsoft Azure CDN with already existing site将 Microsoft Azure CDN 与现有站点一起使用
【发布时间】:2019-08-18 17:49:18
【问题描述】:

我对使用 CDN 很陌生,但我发现有两种类型的 CDN。

  1. 您将 DNS 重定向到您的 CDN,它们会自动接管流量作为代理并进行缓存和内容交付。网址没有变化,基本上没有用。甚至很难理解我的内容是否通过 CDN 交付(您必须检查标题或使用查找它的网站工具)。很好的例子是 CloudFlare
  2. 您没有重定向您的 DNS。你给它一个源服务器,然后一切都被复制到 CDN 服务器上,你的内容就可以在新的 CDN URL 上使用。

现在,我有一个包含很多图片的网站。我想使用 Microsoft Azure CDN。我创建了我的个人资料 (Standart Microsoft CDN) 并创建了 CDN 端点。我测试过,它工作正常 https://xxxx.com/images/example.png

https://xxxx.azureedge.net/images/example.png 一切都好 - 我的形象和其他人都在那里

那么接下来会发生什么?我有一个图像(img src 标签),例如指向 /images/example.png。看来我需要将其更改为https://xxxx.azureedge.net/images/example.png

所以我的网站有很多图像,如果我必须手动重新执行所有 img src 标签,这似乎需要做很多工作,如果我决定转移到另一个 CDN 或停止使用 CDN 会发生什么。所以这一切让我相信我可能在这里遗漏了一点并且没有正确地做到这一点。

这样的 CDN 应该以正确的方式工作吗?如果是,我可以帮助我如何以最少的劳动力实现这一目标吗?将我所有的 css、js 和图像重新添加到新的 URL 中?我正在使用 Joomla CSM。

关于如何解决或处理如此简单的事情的文档非常有限。

【问题讨论】:

标签: azure joomla cdn azure-cdn


【解决方案1】:

基本上你是对的。主要是,CDN 服务基本上会从您的网站“拉取”静态内容(例如图像),然后通过您提供的 CDN url 从多个位置(服务器)将它们提供给您的访问者。例如:

您的来源网址

mydomain.com/image.jpg

CDN 网址

mycdn.cdnservice.com/image.jpg

如果 URL 与您现有的 url 相同,那么它现在就不能像 CDN 一样工作了。通常有一些选项可以让您使用自己的子域,例如cdn.mydomain.com/image.jpg,但它仍然是 URL 的更改。大多数 CMS 通常有选项,或者至少是插件,为静态资产设置 CDN url,这将动态替换指向 CDN url 的路径。如果您手动设置了文件路径,那么这些也需要手动替换为完整的 CDN 路径。

有一些像 server rewrite 这样的 hack 可能允许您使用相同的 URL,但不建议这样做。一般来说,使用 CDN 需要将 url 更改为静态资产。

选项 #2 是使用反向代理 CDN 服务,例如 Cloudflare。这需要更改您的名称服务器以通过 Cloudflare 路由您的所有流量,然后 Cloudflare 将用作静态资产的 CDN,而无需您更改 url 路径。但是,必须注意,Cloudflare 不仅仅是一个 CDN,您无法真正控制资产在其 CDN/服务器上的缓存方式。

【讨论】:

  • 感谢您确认我的怀疑。是的,我推荐了一个扩展程序,它可以轻松地为 Joomla 处理这个问题,但不幸的是它只有 1 个并且为 HTTPS 付费。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-24
  • 2019-01-07
相关资源
最近更新 更多