Configuring Sitefinity for load balancing

  1. Install Sitefinity to the central location from which each front end server in the cluster will access Sitefinity.
    This must be a network share available to all servers.
  2. Add machine key configuration in your web.config file.
    For more information, see http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx.

    NOTE: It is required that all web servers use the same machine key when running in NLB.

  3. Create the websites on each of the frontend webservers.
    You must make sure that each one of them points to the network share and the database server that hosts the shared Sitefinity database.
    Each of the frontend servers must be able to access the Sitefinity website on each of the other servers.

    The following is a diagram of a web farm:

    NOTE: Sitefinity does not require synchronization the project folders. If you utilize some custom implemented providers that rely on the file system, then you need to use a third party tool for syncing the folders.

  4. In Sitefinity’s backend, click Administration » Settings » Advanced Settings » System » LoadBalancing » WebServerUrls » Create new.
  5. Enter the URLs of each of the frontend servers that are part of the load balancing and which will be used to access your website.

    EXAMPLE: The following are examples of the format of the URLs:

      • http://webserver1.telerik.com/
      • http://webserver2.telerik.com/
      • or enter directly the IP address:
        http://199.166.0.1/

Configuring  Network Load Balancing in Sitefinity claims-based authentication mode

To make NLB to work with Sitefinity’s claims-based authentication mode, you must make additional setting. For more information about authentication modes, see Authentication and single sign-on. Perform the following:
  1. In the main menu, click Administration » Settings » Advanced.
  2. In the treeview on the left, click Security » SecurityTokenIssuers » http://localhost.
  3. Copy and save the content of fields Key, Encoding, and MembershipProvider.
  4. In the treeview, click again SecurityTokenIssuers.
  5. For each instance participating in the load balancing mode create a new security token issuer by performing the following:
    1. Click Create new button.
    2. In Realm input field, enter the URL of the Sitefinity instance concatenated with /Sitefinity/Authenticate/SWT.
      For example, http://smith.telerik.com/Sitefinity/Authenticate/SWT.
    3. In Key, Encoding, and MembershipProvider input fields, enter the values copied in Step 3.
    4. Click Save changes.
  6. Repeat Step 5, for each instance that is participating in the network load balancing.
  7. For each domain from which the website is accessed, create a new security token issuer by performing the following:
    1. Click Create new button.
    2. In Realm input field, enter the domain concatenated with /Sitefinity/Authenticate/SWT.
      For example, http://webserver1.telerik.com/Sitefinity/Authenticate/SWT.
    3. In Key, Encoding, and MembershipProvider input fields, enter the values copied in Step 3.
    4. Click Save changes.
  8. Repeat Step 7, for each domain that is used to access the website.
  9. In the treeview, click RelyingParties » http://localhost.
  10. Copy and save the content of fields Key, Encoding, and MembershipProvider.
  11. In the treeview, click again RelyingParties.
  12. For each instance participating in the load balancing mode create a new relying party by performing the following:
    1. Click Create new button.
    2. In Realm input field, enter the URL of the Sitefinity instance.
      For example, http://smith.telerik.com.
    3. In Key, Encoding, and MembershipProvider input fields, enter the values copied in Step 10.
    4. Click Save changes.
  13. Repeat Step 12, for each instance that is participating in the network load balancing.
  14. For each domain from which the website is accessed, create a new relying party by performing the following:
    1. Click Create new button.
    2. In Realm input field, enter the domain.
    3. For example, http://webserver1.telerik.com.
    4. In Key, Encoding, and MembershipProvider input fields, enter the values copied in Step 10.
    5. Click Save changes.
  15. Repeat Step 14, for each domain that is used to access the website.
  16. Restart all instances.

Related topics:

Feedback

How useful is this article?

Tell us more

Submit
Your message was successfully sent.

We appreciate your feedback.

Your message could not be sent.

OK