One of the most common issues that arise on load balanced content delivery servers, is that there is a problem only with one of the servers. But troubleshooting this should be easy if you follow one (or in my case, all) of the following three options.
1. Set Http response headers for each content delivery server
Within IIS, at the root server node, choose "HTTP Response Headers". From Actions, add a unique value for each of your servers. For example
Name Value
x-s 01
x-s 02
x-s 03
Now when you bring up your webpage, you can go to Chrome developer tools and find the x-s value in the response headers section as shown in the image below
2. Add the below line (above the </body> tag) to your default layout (master page) so that all pages on your website inherit it.
<!-- Server MachineName = @HttpContext.Current.Server.MachineName -->
Now, when you bring up your webpage, right click on the page and choose "View page source". Then scroll down to the bottom of the page (by clicking Ctrl + End) and you should see the name of the delivery server that is serving up the web page.
3. In your <Site> node of your website (withing the App_config folder), add the name of each of your delivery server to the hostname (names are pipe delimited here).
For example if your CD server name is xxxcd01
then the hostname value on CD1 would be
hostName="yourwebsite|xxxcd01"
Similarly set this on other CD servers.
ie: hostName="yourwebsite|xxxcd02"
hostName="yourwebsite|xxxcd03"
Lastly make sure that you have added a hostname binding to your website
1. Set Http response headers for each content delivery server
Within IIS, at the root server node, choose "HTTP Response Headers". From Actions, add a unique value for each of your servers. For example
Name Value
x-s 01
x-s 02
x-s 03
Now when you bring up your webpage, you can go to Chrome developer tools and find the x-s value in the response headers section as shown in the image below
2. Add the below line (above the </body> tag) to your default layout (master page) so that all pages on your website inherit it.
<!-- Server MachineName = @HttpContext.Current.Server.MachineName -->
Now, when you bring up your webpage, right click on the page and choose "View page source". Then scroll down to the bottom of the page (by clicking Ctrl + End) and you should see the name of the delivery server that is serving up the web page.
3. In your <Site> node of your website (withing the App_config folder), add the name of each of your delivery server to the hostname (names are pipe delimited here).
For example if your CD server name is xxxcd01
then the hostname value on CD1 would be
hostName="yourwebsite|xxxcd01"
Similarly set this on other CD servers.
ie: hostName="yourwebsite|xxxcd02"
hostName="yourwebsite|xxxcd03"
Lastly make sure that you have added a hostname binding to your website
Now, you should be able to browse directly to your content delivery server by going to http://xxxcd01
Following the above has helped me troubleshoot a ton of issues and I hope it helps others as well. Happy Sitecoreing!
Comments
Post a Comment