在发布渠道中,Sitecore出现了一个奇怪的问题。我们有一些逻辑可以在发布管道中运行,以将数据写入另一个系统。传递到新系统的数据属性之一是内容和媒体项的URL。
项目的网址为http://www.example.com/section/abc,但媒体项目的网址为http://123.456.789.012/~/media/media.ashx。在我们通过适当URL的登台和开发环境中,这可以正常工作。但是在生产中,IP被发送用于媒体项目。我可以说,登台和生产配置没有明显的区别。
关于可能发生的事情有什么想法吗?任何帮助表示赞赏。
检查"Media.MediaLinkServerUrl"
设置的值是多少。
默认情况下为空:
<setting name="Media.MediaLinkServerUrl" value="" />
根据我的记忆,如果:
"Media.MediaLinkServerUrl"
值未设置AlwaysIncludeServerUrl
选项被使用HttpContext.Current
(当您处于发布管道中时,这是正确的)如果1. 2.和3.为true,则在回收应用程序池后,Sitecore会生成具有第一个主机名或IP地址的媒体项的链接,该主机名或IP地址是该站点被访问的。
这意味着,如果您重新启动生产服务器,然后用本地IP地址击中它,只是为了确保它在放回到负载均衡器中之前已经启动并运行(或者可能是LB使用IP地址调用服务器),Sitecore将生成所有带有IP地址而不是好的主机名的媒体项目url。
我认为它在开发环境和暂存环境中都可以使用,因为您总是以最终的主机名访问它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句