【问题标题】:Does Kentico Auto-Prefix CDN Endpoint URLs to Media File Paths?Kentico 是否为媒体文件路径自动添加 CDN 端点 URL 前缀?
【发布时间】:2019-01-28 01:43:14
【问题描述】:

这里有人熟悉将 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 的本机功能,这似乎很奇怪。

【问题讨论】:

    标签: amazon-s3 amazon-cloudfront cdn kentico


    【解决方案1】:

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

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

    【讨论】:

    • Brenden,事实证明 Kentico 确实将 CDN 端点 URL 预先添加到媒体文件的直接路径中。 stackoverflow.com/a/51991179/1671640
    • 您在回答中的解释虽然说您将其配置为将媒体文件存储在 Azure 存储中,但我假设这是 blob 存储正确吗?如果是这样,那么这与使用“文件系统”存储不同。我假设您当前的设置正在使用文件系统存储中的相对路径,并且您希望将其转换为 CDN。对吗?
    • 正确。这个特定客户的问题最终是他们在文件系统和云存储上都有媒体库。冗余导致本地文件系统上已存在的文件不更新以使用 CDN 的问题。他们只是在配置 Kentico 实例以将媒体文件存储在云存储中时从未删除本地媒体库。
    • 很好,我正在复制你最初提到的设置,你比我解释得好!所以简短的故事是添加 CDN 信息,同时从服务器文件系统中删除物理文件,确保物理文件在删除之前在 CDN 中。
    【解决方案2】:

    我配置了一个干净的 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)。然后,我将 Kentico 配置为使用 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 作为永久链接。直接路径的绝对 url 始终以 CDN 端点 URL 开头。

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

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

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

    【讨论】:

      【解决方案3】:

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

      对于一个项目,我们已将所有图像 CDN 端点从 http://ggg.net 更新为 https://yyy.net

      如果您使用 Staging 模块将内容从舞台环境同步到生产环境,请使用通用 CDN 端点和通用 blob。

      【讨论】:

        猜你喜欢
        • 2014-05-07
        • 1970-01-01
        • 2020-05-26
        • 2015-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-01
        • 1970-01-01
        相关资源
        最近更新 更多