0

We have a win 2012/IIS 8.5 web farm up and running using a shared config. All was working great on the servers and we would create a site on one server and it would go across them all. We run into an issue with the servers and had to change a number of them to local configurations before reverting them back to the shared config.

The problem we had was with us not being able to start sites so was a bit of a major issue. At the time we suspected it was related to the way we were using DFS to share the configuration across servers and possibly IIS was accessing the config files whilst they were being touched by DFS. We tried a couple of things and ended up reverting the servers back to a previous IIS config (due to corruption issues and not being able to start sites) and had to setup a new DFS share.

We have an issue when we create a new site on the farm, the site is started on web01 but stuck on starting on the remaining servers. When we try and click on start on one of the sites we get the error

there was an error performing this operation. Details: the object identifier does not represent a valid object. (exception from HRESULT: 0x800710D8)

When i edit the binding of any site on the server (the one with the sites stuck on starting) and apply the changes I am then able to start all the problematic sites.

Anyone any ideas as to what the cause could be and how to resolve it?

Thanks

1

Disable shared config on all servers - this will result in them being temporarily separated and each storing their own config - this is OK.

Export the iisConfigurationKey and iisWasKey from web01 and import on all other servers - these encryption keys need to be synchronized across the farm for shared config to work. If you built the other servers by cloning web01, then no need to do this.


Export:

C:\windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -px "iisConfigurationKey" C:\iisConfKey.xml -pri

C:\windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -px "iisWasKey" C:\iisWasKey.xml -pri

Import:

C:\windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -pi "iisConfigurationKey" C:\iisconfkey.xml -exp

C:\windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -pi "iisWasKey" C:\iisWasKey.xml -exp

Setup a network share and that all servers can use to access the shared config as detailed here.

On the first server (web01), export the configuration - place it in this network location (make not of the encryption key you use when you export).

On the first server (web01), switch to shared configuration mode again - defining the same network location - input the encryption key if prompted.

Now do the same on all other web servers, switch to shared configuration mode again - defining the same network location - input the encryption key if prompted.

Reboot all of them.

Now manage config via web01 and it should appear correctly on the other servers.

  • Thanks for the feedback. Just tried it on two of the servers. Exported certiifcate from the first (working) server, disabled the shared config, disabled it on second server, copied certs, imported on second server, enabled shared config again and rebooted server. On rebooting and creating a new site on web01 we are still getting the site as stuck 'starting'. Anyone any issues with the shared config being located on a local folder that is DFS'ed across 12 hosts? – John Fox Jul 13 '16 at 13:49
  • Moved IIS config to a windows network share and works as expected now. Thnaks – John Fox Jul 14 '16 at 11:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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