【问题标题】:CRM 2011 multiple host namesCRM 2011 多个主机名
【发布时间】:2012-10-06 17:01:23
【问题描述】:

是否可以/支持让 CRM 2011 主机使用两个不同的主机名?我们已经尝试过了,但并非一切都能完美运行。

示例:

  • 服务器名称为“app1”的服务器。
  • 将主机名“crm”指向“app1”的 AD/DNS 条目。

当用户导航到“crm”时,99% 的请求都能正常工作,但 CRM 中的一些内部 javascript 以原始“app1”服务器为目标。例如,来自检索角色的普通编辑表单的请求。无论请求 URL 是什么,名为“*SERVER_NAME*”的 javascript 变量的值始终为“app1”。可能会出现跨服务器警告,或者功能可能会静默失败。

访问服务器的 FQDN 时也会发生这种情况,因此“app1.mydomain.com”仍然会产生相同的结果和失败/警告功能。

我想这在处理负载平衡安装时会出现类似的问题?他们如何处理这个问题? IE。它们以主机名 X 为目标,可以获取主机名 Y 或 Z。

编辑:我知道这可能被称为“域别名”或“主机别名”,因为它是一个活动目录条目。

【问题讨论】:

  • 不确定我是否看到此错误。我有反映完全相同情况的 DNS 条目。 app1 和 crm 都是可信站点吗?
  • 是的,两者都在受信任的站点列表中。最后,如果您在访问您的 DNS 别名时运行 Fiddler 或其他一些请求跟踪应用程序,您能否看到一些脚本从相应的 app1 服务器请求项目?
  • 这不是 IIS 中的主机标头可以解决的问题吗?换句话说,它告诉服务器它应该被称为什么名称,因此它可以响应通过 DNS 指向那里的所有名称,并且不会触发 XSS 警告(除其他外)。
  • Daniel Cai 似乎想出了一个在使用不同名称时使用 getServerURL 的好方法:danielcai.blogspot.co.uk/2012/02/…
  • CRM 不支持 IIS 中的多个绑定,这意味着主机标头已失效。

标签: iis-7 dynamics-crm dynamics-crm-2011


【解决方案1】:

您的 CRM 系统不能有多个主机名。

  1. 您必须为您所看到的脚本指定一个供 CRM 系统本身使用的地址。但它也用于发现机制。
  2. 由于 Web 服务端点的限制,不支持 IIS 中的多个绑定

在 CRM 服务器上打开部署管理器。 转到操作 -> 属性 -> 地址

将所述地址调整为您用于访问 CRM 系统的地址。这些设置对于 CRM 定义其“身份”很重要。

如果您配置了 IFD,则需要配置一个额外的外部身份。

顺便说一句。根据您的环境,可能需要设置 SPN。见http://blogs.msdn.com/b/webtopics/archive/2009/01/19/service-principal-name-spn-checklist-for-kerberos-authentication-with-iis-7-0.aspx

关于 NLB:http://technet.microsoft.com/en-us/library/hh699803.aspx

【讨论】:

  • 感谢 ccellar,这回答了 CRM 如何定义它的身份,但如果可能有“两个身份”则不是。我所有的自定义 javascript 都动态处理这个,但不是内部 javascript 和函数。
【解决方案2】:

当您使用不同的名称时,Daniel Cai 似乎有一个很好的方法来解决 getServerURL 返回部署管理器中保存的值而不是调用页面 URL 的问题。他想出了一个替换函数:

CRM 2011: Get the Right Server URL in Your CRM Client

这看起来适用于 Outlook 离线客户端和在线浏览器的所有场景。

【讨论】:

  • 是的,这是一个非常好的自定义代码提示,但服务器命名也会影响发现和内部 javascript 代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-14
相关资源
最近更新 更多