3 Replies Latest reply on Jul 19, 2017 12:38 PM by Sean Dugan

    Using tableau behind nginx  like: mysite.mydomain/tableau

    Rejaine Monteiro

      Hi

       

      I'm configuring tableau to run with nginx running as reverse proxy  and trying to use a url like example below:

       

      www.mysite.mydomain/tableau

       

      I made a test in my machine with localhost (only for tests)  using this nginx.conf :

       

      server {

          listen          80;

          server_name     localhost;

       

              location / {

                      proxy_set_header Host $host;

                      proxy_pass http://localhost:8080;

              }

       

             location /tableau {

                      proxy_set_header Host $host;

                      proxy_pass http://tableau.localdomain.com/;

              }

      }

       

      Everything works perfectly. I can logon  the tableau, view the initial page, see projects, worksbooks, views, etc ...

      Except...  the top menu items ... When I try to access menu Projects, Groups, Users, Schedules, etc ... The link to them like this:

       

      http://localhost/#/users

      http://localhost/#/projects

      http://localhost/#/schedules

       

      etc...

       

      It is not inserting the /tableau on url  for these menu items.

       

      I've also tried using these settings below nginx, but to no avail.

                      proxy_set_header X-Forwarded-Host $host;

                      proxy_set_header X-Forwarded-Server $host;

                      proxy_set_header X-Forwarded-Proto "https";

                      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        • 1. Re: Using tableau behind nginx  like: mysite.mydomain/tableau
          Patrick A Van Der Hyde

          Hello Rajaine,

           

          This article should help you out.

           

          Reverse Proxy Server URL Reverts to Internal URL | Tableau Software

           

          If this post assists in resolution, please mark it "Helpful".   If this post resolves your question, please mark this post as "Correct Answer"

          This will help other users with the same question locate this answer. 

           

           

          Thank you

           

           

          Patrick

          • 2. Re: Using tableau behind nginx  like: mysite.mydomain/tableau
            Jeff Strauss

            Rejaine.  In addition to what Patrick references, make sure that you follow the Tableau configuration recognition of the reverse proxy.

             

            Configuring Proxies for Tableau Server

             

            Here's my own personal cliff notes of what it all means.  If you're getting through via trusted, this could mean that you you have gateway.trusted, but maybe you don't have the gateway.public.host

            • tabadmin set gateway.trusted "server_ip_address" – this is the IP address of the load balancer to be trusted
            • tabadmin set gateway.public.host "tableau.example.com" – this is the entry point of how users will access Tableau Server via the load balancer.  The DNS belongs to the load balancer.
            • tabadmin set gateway.trusted_hosts "name1, name2, name3" - this is the alternate names for the proxy server; such as its fully qualified domain name, any not fully qualified domain names, and any aliases
            • tabadmin set gateway.public.port "443" -

               this is the port that the load balancer will forward to the Tableau gateway (httpd).  It defaults to port 80

            • 3. Re: Using tableau behind nginx  like: mysite.mydomain/tableau
              Sean Dugan

              I was having a very similar problem. The link Patrick posted got me my solution. I was missing the Host header in my nginx configuration. Adding that in fixed several issues.

               

                location / {

                  proxy_pass http://tableau/;

                  proxy_set_header Host $host;

                  proxy_set_header X-Forwarded-Host $host;

                  proxy_set_header X-Forwarded-Server $host;

                  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                  proxy_set_header X-Forwarded-Proto $scheme;

                  proxy_connect_timeout 60;

                  proxy_read_timeout 60;

                  proxy_send_timeout 60;

                  send_timeout 60;

                  proxy_http_version 1.1;

                  proxy_set_header Connection "";

                }