当我们在云中托管 kentico 应用程序时(假设是 Azure),我们配置 blob 存储,媒体库文件假设图像驻留在 Azure blob 中。 现在,在获取这些文件时,我们还配置了 Azure CDN 和一些缓存技术,并且节省了页面加载时间。
现在,在处理页面附件时,在 Kentico 中可以将这些页面附件存储在数据库或文件系统中。
同时配置 azure blob 存储 kentico 谈到将整个文件系统映射到 Azure 存储
我们不建议将整个文件系统映射到 Azure 存储,因为本地智能搜索索引和 Web 分析功能可能会出现问题。这些功能使用不适合共享文件系统的数据。 这是link
- 现在,如果我们将图像存储在页面附件(自定义页面类型)中,那么有什么方法可以将这些页面附件图像保存在 azure blob 中并利用 azure cdn,以便渲染为页面附件的图像也将减少加载时间。
- 基本上,将图像存储为页面附件可以减少页面加载时间。
感谢您的帮助。
最佳答案
遗憾的是,默认的开箱即用 Kentico 配置仅允许为媒体库文件配置 Azure 或 Amazon CDN。我们通常这样定制它:
将您的域指向 CDN,并将 CDN 指向 Kentico 服务器(或网络应用程序):
- mysite.com -> CDN -> Kentico 服务器
- 根据您的 Kentico 站点返回的缓存 header ,CDN 是否会缓存响应
- 您可以在媒体文件和附件的响应 header 中配置缓存时间,如 the documentation 中所述。
- 您需要确保为 HTML 设置正确的缓存 header 以将其缓存在 CDN 上
为您的媒体文件创建子域,例如 media.mysite.com
- HTML 将直接从您的服务器提供:浏览器 -> Kentico 服务器
- 媒体文件和附件将通过 CDN 提供:浏览器 -> CDN -> Kentico 网站
- 您需要将此媒体子域指向 CDN:media.mysite.com -> CDN -> Kentico 服务器
- 当您在 HTML 中呈现媒体文件链接或附件时,您需要自己生成这样的链接:您需要绝对 URL,而不是“/getmedia/...”或“/getattachment/...”等相对 URL例如“https://media.mysite.com/getmedia/ ...”或“https://media.mysite.com/getattachment/ ...”
关于azure-blob-storage - 页面附件中的图像与媒体库 Kentico,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62192512/