0
votes

Is it possible/supported to have a CRM 2011 host work with two different host names? We have tried this, but not everything works perfectly.

Example:

  • A server with server name "app1".
  • An AD/DNS entry pointing the host name "crm" to "app1".

When users navigates to "crm" the requests work 99% of the time, but a few internal javascripts in CRM targets the original "app1" server. For example a request from normal edit forms that retrieves the roles. The javascript variable called "*SERVER_NAME*" always has value of "app1", no matter the request URL. A cross-server warning might appear or the functionality may just silently fail.

This also happens when accessing the FQDN of the server, so "app1.mydomain.com" still produces the same result and failing/warning functionality.

I imagine this would be a similar problem when dealing with load balanced installations? How do they handle this? I.e. they target host name X and can get host name Y or Z.

Edit: I've understood that this may be called "domain alias" or "host alias" since it is an active directory entry.

2
Not sure if I have see this error. I have got DNS entries reflecting the exact same scenario. Are both app1 and crm Trusted Sites? - Gaurav Dalal
Yes, both are in the list of trusted sites. At your end, if you run Fiddler or some other request tracking application while accessing your DNS alias, can you see some scripts requesting items from your corresponding app1 server? - krembanan
Isn't this what a host header in IIS would fix? in other words it tells the server what names it is expected to be known as, so it can respond to all the names which direct there through DNS and does not trigger a XSS warning (among other things). - AdamV
Daniel Cai seems to have come up with a good way round using getServerURL when you have different names used: danielcai.blogspot.co.uk/2012/02/… - AdamV
CRM doesn't support multiple bindings in IIS, meaning host headers are out. - krembanan

2 Answers

2
votes

You cannot have multiple hostnames for the CRM system.

  1. You have to specify an address which is used by the CRM system itself, for scripts like you have seen. But it is also used for the Discovery mechanisms.
  2. Multiple bindings in IIS are not supported due to a limitation with the web service endpoint

Open the deployment manager on the CRM server. Go to Actions -> Properties -> Addresses

Adjust the stated addresses to the one which you use to access the CRM system. These settings are important for the CRM to define its "identity".

If you have configured IFD you configure an additional external identity.

By the way. Depending on your environment it might be necessary to set an SPN. See http://blogs.msdn.com/b/webtopics/archive/2009/01/19/service-principal-name-spn-checklist-for-kerberos-authentication-with-iis-7-0.aspx

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

0
votes

Daniel Cai seems to have a good way round the problem of getServerURL returning the value held in deployment manager rather than the calling page URL when you have different names used. He has come up with a replacement function:

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

This looks like it works for all scenarios with Outlook offline client as well as online browser.