Making a website highly available requires that it gets deployed on multiple servers so that if one server fails for some reason, the other servers can still serve the website for the users. This setup is usually called a server farm.

On IIS 7, each website requires a set of configuration on the webserver for it function, like application pool configuration, host header configuration, security configuration, etc. Having multiple web servers means that these configuration should always be kept in sync on all servers, which requires effort.

IIS 7 includes a feature which makes this task easier. IIS 7 includes what is called Shared Configuration. IIS configuration can be shared by multiple servers, which means changing the configuration on one server will automatically change the configuration on the other servers in the farm.

Below are the steps required to configure Shared Configuration on multiple IIS servers.

We assume here that we have two servers in the farm. Lets call them Server1 and Server2

1. On Server1, open IIS manager, click on the server name in the Connections pane on the right. You will see the IIS server features on the left.

2. If you can’t see the Management section, scroll down. You will see the Shared Configuration icon in that section.

image

3. Double click on the Shared Configuration icon to open the settings screen

image

4. In the Actions pane, click on Export Configuration. This will open up the Export Configuration dialog box

image

5. In the Physical path text box, enter the path where you want the configuration to be saved. Enter a password for the encryption key. This will be saved a long with the configuration files.

6. Click the Ok button to do the export.

7. In the Shared Configuration properties, check the Enable shared configuration checkbox.

image

8. In the Physical Path text box, enter the path where you saved the exported configuration files.

9. In the User name and Password text boxes, enter the username and password of a user that has read/write access to the shared folder.

10. In the Actions pane, click the Apply button. When you do so, a dialog box will appear asking you to provide the encryption key password that you set when you exported the configuration.

image

11. Enter the password and click the Ok button. With this step you have exported the configuration files, and configured Server1 to used the shared configuration files.

12. Now you need to make the shared configuration folder accessible to all other servers in the farm. To do so you need to share the folder and give other servers access to it.

13. Perform steps 7 to 11 on Server2, but this time providing the UNC path of the Shared Configuration folder.