14 Replies Latest reply on Oct 26, 2017 10:43 AM by Erick Larin

    NetScaler Load Balancer Configuration

    Erick Larin

      Hello. We currently have our production Tableau Server instance behind F5 load balancers. It is a 3-node system with one primary server and 2 worker servers. It runs like a champ.

       

      We are migrating away from F5 to Citrix NetScaler. So I have begun deploying new Windows Server 2016 virtual servers for our new Test instance. I am familiar with configuring Tableau Server to work with load balancers as described at Add a Load Balancer. Performing the steps from that page resulted in intermittent weird behavior in Tableau. Specifically I would get an error about workbook/view cannot be found when clicking on a workbook. It would randomly occur. So since Citrix NetScalers work more like reverse proxies, I started to read about Configuring Proxies for Tableau Server. So I needed to find a way to insert the following HTTP headers:

       

      • X-Forwarded-For
      • X-Forwarded-Host
      • X-Forwarded-Proto

       

      Adding the "X-Forwarded-For" was easy. In my Service Group for Tableau, I just enabled "Client IP" and set the Header value to "X-Forwarded-For". For the other two headers, I created Rewrite Actions. These are the Expression value I set for each:

       

      • X-Forwarded-Host - HTTP.REQ.HOSTNAME
      • X-Forwarded-Proto - "http"

       

      I'm pretty sure the "X-Forwarded-Proto" is correct. However, I'm not sure if I have the correct expression for "X-Forwarded-Host". Am I using the proper expression?

       

      The instance seems to be functioning properly as I'm no longer getting the error. There's not much documentation or discussions about configuring Tableau Server for NetScaler beyond simply pointing to the published article I mentioned at the beginning of this post. Thanks everyone!

       

      Erick