Kentico 是否自动为媒体文件路径添加 CDN 端点 URL 前缀?

Does Kentico Auto-Prefix CDN Endpoint URLs to Media File Paths?

这里有人熟悉将 Azure 或 Amazon CDN 服务与 Kentico 媒体库一起使用吗?我在 web.config 中有一个带有 Amazon CloudFront CDN 的客户端 运行 Kentico v10.0.21。 https://docs.kentico.com/k10/custom-development/working-with-physical-files-using-the-api/configuring-file-system-providers/configuring-amazon-s3#ConfiguringAmazonS3-ConfiguringKenticotouseAmazonCloudFrontCDN

他们 运行 遇到了一个问题,即 Kentico 没有将 CDN 端点 URL 作为媒体文件路径的前缀。如果 web.config 设置为使用 CDN,是否有任何本机 Kentico 功能可以自动为媒体库选择添加 CDN 路径前缀?我可以使用自定义宏从 web.config 中读取值并对其执行一些操作,但是如果 Kentico 已经启用了使用 CDN 端点,这将不是 Kentico 的原生功能,这似乎很奇怪。

如果您谈论的是页面类型中的图像 URL,则不,必须手动更新这些图像。如果您在 WYSIWYG 编辑器中谈论图像,同样不,您必须手动更新这些图像。

这是因为数据指向磁盘上的相对路径而不是 CDN。因此,您需要更新数据,当您 select 页面类型或您的内容中的图像时,它会将 CDN 信息添加到 URL。

我配置了一个干净的 Kentico 10 网站以仅在 Azure 存储上存储媒体文件,(https://docs.kentico.com/k10/custom-development/working-with-physical-files-using-the-api/configuring-file-system-providers/configuring-azure-storage#ConfiguringAzurestorage-ConfiguringKenticotostoreonlymediafilesonAzurestorage). Then, I configured Kentico to use a CDN, (https://docs.kentico.com/k10/running-kentico-on-microsoft-azure/configuring-azure-cdn#ConfiguringAzureCDN-ConfiguringKenticotouseaCDN)。这些不是 Amazon 存储或 CDN 资源,因为我们没有活跃的 Amazon Web Services (AWS) 帐户,但它们应该模仿 Kentico 对媒体文件和外部存储提供商的一般方法。完成这些自定义配置任务后,我应用了修补程序 10.0.21 以确保 Kentico 实例 运行 与我们的客户端具有相同的修补程序。

我测试了添加几个媒体文件。媒体文件始终使用绝对 URL 作为直接路径,使用相对 URL 作为永久 link。直接路径的绝对 url 始终以 CDN 终结点 URL.

开头

我测试了使用页面选项卡上的富文本小部件将媒体文件添加到页面。 img 标签的 src 属性始终使用直接路径并且始终以 CDN 端点 URL.

开头

这些测试确认 Kentico 已经处理将 CDN 端点 URL 添加到媒体文件的直接路径。如果 Kentico 无法将 CDN 端点 URL 添加到媒体文件的直接路径,则 Kentico 未配置为使用 CDN。如果 Kentico 未能将云存储 URL 添加到媒体文件的直接路径或使用相对 URLs 作为媒体文件的直接路径,则 Kentico 未配置为仅将媒体文件存储在云存储上.

我怀疑我们的客户端既没有配置为在云存储上存储媒体文件,也没有使用 CDN。

如果您在 Web.config 文件中将存储配置为 Azure blob 和端点 URL,就像在文档 CDN Mapping 中一样。
然后所有在 CDN 配置后上传的新图像将由 CDN 端点提供。
替换命令。

对于一个项目,我们更新了来自 http://ggg.net to https://yyy.net 的所有图像 CDN 端点。

如果您使用暂存模块将内容从暂存环境同步到生产环境,则对两者使用通用 CDN 端点和通用 blob。