这里有没有人熟悉将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中读取值并执行此操作,但是,如果它已经启用了使用CDN端点,那么这将不是Kentico的本机功能,这似乎很奇怪。
答案 0 :(得分:0)
如果您正在谈论页面类型的图像URL,那么否,则必须手动更新这些URL。如果您是在所见即所得(WYSIWYG)编辑器中谈论图像,则再次不能,您必须手动更新它们。
这是因为数据指向磁盘上的相对路径,而不是CDN。因此,您需要更新数据,然后在您选择页面类型或内容中的图像时,会将CDN信息添加到URL。
答案 1 :(得分:0)
我将一个干净的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。
答案 2 :(得分:0)
如果将存储配置为Web.config文件中的Azure blob和终结点URL,如文档CDN Mapping中所述。
然后,在配置CDN之后上传的所有新映像将与CDN端点一起提供。
替换命令。
对于一个项目,我们已将所有图像CDN端点从http://ggg.net更新为https://yyy.net。
如果您使用暂存模块将内容从舞台环境同步到生产环境,则使用公共CDN端点和公共blob。