I'm installing the Web 8.5 content manager on Windows Server 2016. It's a local installation, and my hostnames won't be available via DNS, so I started off by adding entries in the hosts file for sdlweb and topman pointing to the interface where Tridion will run. In the installer website step, I specified sdlweb and port 80. The intention is to have topology manager run at topman and port 80.

At this point, the installer tells me that it can't go any further because the port is occupied. There are no websites configured in IIS yet, but:

(Get-NetTCPConnection -LocalPort 80).OwningProcess

gives me the SYSTEM process. This makes sense: I expect HTTP.SYS to be listening here, even if the port is not truly "occupied".

Changing my hosts file so that the names don't match the ones I'm entering in the installer allows me to proceed, albeit with a warning about being unable to validate the host header.

Unfortunately, this isn't an effective workaround because then later in the process the installer reports a 500 error from the topology manager, presumably because it can't find the endpoint.

This is preventing me from achieving a scripted installation to my preferred design. I'll end up installing without host headers and on distinct ports, and then have to fix everything afterwards.

Why does the installer perform this check? (And what exactly is it checking? Is it just testing for an open port?) What effective workarounds might be possible? Given that I will now have to fix things up post-install, where are the two host header values used? In other words, if I only change the bindings in IIS, what would break, and how can I prevent that?

Faced with this, what do other people do? Does everyone just give up on host headers and use port numbers?

2 Answers 2


So eventually I gave up on trying to configure host headers in the installer, and let it use a distinct port number for topology manager. After some wrestling, I now have a list of the places where you need to manually update your configuration having done this:

Firstly, open up %TRIDION_HOME%web\WebUI\WebRoot\Web.config

As noted by Velu, you need to update the Tridion.WCF.RedirectTo key. Further down there's the possibility of uncommenting baseAddressPrefixFilters and adding names. I haven't done this, and I don't know what breaks if you don't.

Yet further down there's configuration for EclBinaryEndpoint. I'm not using ECL, so I don't know if you need to fix this one up or not.

You also need to update two Environment variables: TRIDION_CONFIGURATION_URL and TRIDION_TTM_SERVICEURL The latter of these is needed by the topology manager cmdlets. I'm not sure what breaks if you don't fix the former.

Finally, (I hope) you need to open up %TRIDION_HOME%hubs\NotificationHub\Web.config and edit the ContentManager.BackplaneHub.Url key. Otherwise you'll see "Could not connect to the Connection hub" errors in the notification area.


Usually, I will install the IIS and roles and then will delete the default website in IIS and then Installer to Install the CMS on hostname value as empty port number value as 80 or localhost 80, and Topology Manager on localhost 81.

Once successful installation will review the CMS access by http://localhost

if we want to change the hostname localhost to sdlweb then add this hostname in the host's file and then find sdlweb in IIS binding for SDL Web.

Open the web.config in the below directory


and ensure that the below line:

<add key="Tridion.WCF.RedirectTo" value="localhost:80"/>

Matches that of the IIS binding information. For example, if you have a binding of sdlweb on port 80, then you'd need to change this to:

<add key="Tridion.WCF.RedirectTo" value="sdlweb:80"/>

And then restart the SDL Tridion Service Host

I hope it helps.

  • Thanks Velu. Looks like a vote for "just give up on host headers and use port numbers" Commented Mar 26, 2018 at 17:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.