Sitecore项目和带IP的媒体网址

Gab*_*bar 2 sitecore hyperlink

我们在发布渠道中有一个奇怪的问题.我们有一些逻辑在发布管道期间运行以将数据写入另一个系统.进入新系统的数据属性之一是内容和媒体项的URL.

项目的网址为http://www.example.com/section/abc,但媒体项目的网址为http://123.456.789.012/~/media/media.ashx.这适用于我们的舞台和开发环境,正确的网址经过.但在生产中,IP正在发送给媒体项目.我可以说,在分期和生产配置方面没有明显的差异.

关于可能发生的事情的任何想法?任何帮助表示赞赏.

Mar*_*lak 5

检查"Media.MediaLinkServerUrl"设置的值是多少.

默认情况下它是空的:

<setting name="Media.MediaLinkServerUrl" value="" />
Run Code Online (Sandbox Code Playgroud)

从我记忆中,如果:

  1. "Media.MediaLinkServerUrl" 值未设置
  2. 并使用AlwaysIncludeServerUrl选项
  3. 没有HttpContext.Current(当你在出版管道时这是真的)

如果1. 2.和3.为真,则Sitecore会生成具有第一个主机名或IP地址的媒体项的链接,该应用程序池被回收后该站点被点击.

这意味着,如果您重新启动生产服务器,然后使用本地IP地址命中它,只是为了确保它已经启动并运行,然后将其放回负载均衡器(或者可能是使用IP地址调用服务器的LB),Sitecore将生成所有服务器具有该IP地址的媒体项目URL而不是很好的主机名称.

我认为它在dev和staging环境中都有效,因为你总是用最终的主机名命中它们.