<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Route multiple QlikSense servers through Nginx in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2442994#M20396</link>
    <description>&lt;DIV&gt;Hello,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Thanks for your reply.&lt;/DIV&gt;
&lt;DIV&gt;This is what we tried so far:&lt;/DIV&gt;
&lt;DIV&gt;&lt;LI-CODE lang="markup"&gt;server {
		listen 443 ssl;
        listen [::]:443 ssl;
        include snippets/self-signed.conf;
        include snippets/ssl-params.conf;
		
		server_name nginx.ourdomain.com;

        location /qliksense/ {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;

            # X-Forwarded headers
            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 https; # We enforce HTTPS for all returns

            # Proxy specific variables
            proxy_redirect off;
            proxy_read_timeout 60m;
            proxy_send_timeout 60m;
            proxy_http_version 1.1;
            proxy_connect_timeout 5s;

            # Add support for websockets
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;

            # proxy_buffering should be on for all but very rare cases
            proxy_buffering on;

            # proxy_buffers should not exceed 63
            proxy_buffers 63 128k;
            proxy_buffer_size 128k;

            proxy_pass https://qliksense.ourdomain.com;
        }
        
        location /qliksense/internal_windows_authentication/ {
            proxy_set_header Host $http_host;

            proxy_http_version 1.1;
            proxy_set_header Connection '';

            proxy_pass https://qliksense.ourdomain.com;
        }

        location /qliksense/vp1 {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;

            # X-Forwarded headers
            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 https; # We enforce HTTPS for all returns

            # Proxy specific variables
            proxy_redirect off;
            proxy_read_timeout 60m;
            proxy_send_timeout 60m;
            proxy_http_version 1.1;
            proxy_connect_timeout 5s;

            # Add support for websockets
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;

            # proxy_buffering should be on for all but very rare cases
            proxy_buffering on;

            # proxy_buffers should not exceed 63
            proxy_buffers 63 128k;
            proxy_buffer_size 128k;

            proxy_pass https://qliksense.ourdomain.com/;
            #We also tried this.
            #proxy_pass https://qliksense.ourdomain.com/vp1/;
        }
        
        location /qliksense/vp1/internal_windows_authentication/ {
            proxy_set_header Host $http_host;

            proxy_http_version 1.1;
            proxy_set_header Connection '';

            proxy_pass https://qliksense.ourdomain.com/;
            #We also tried this.
            #proxy_pass https://qliksense.ourdomain.com/vp1/;
        }
    }
}&lt;/LI-CODE&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;If we try to access &lt;A href="https://nginx.ourdomain.com/qliksense/vp1" target="_blank"&gt;https://nginx.ourdomain.com/qliksense/vp1&lt;/A&gt; we get Error 400.&lt;/DIV&gt;
&lt;DIV&gt;We also tried using 2 server blocks and it seems the only one working is the last one.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Any ideas?&lt;/DIV&gt;</description>
    <pubDate>Fri, 19 Apr 2024 13:52:54 GMT</pubDate>
    <dc:creator>bogdangheorghe</dc:creator>
    <dc:date>2024-04-19T13:52:54Z</dc:date>
    <item>
      <title>Route multiple QlikSense servers through Nginx</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2441665#M20365</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;
&lt;P&gt;We have 2 QlikSense servers in our internal infrastructure and we want to expose these 2 servers externally, through Nginx.&lt;BR /&gt;We would like to be able to access these servers via ourdomain.com/qliksense1 and ourdomain.com/qliksense2.&lt;BR /&gt;Is it possible to configure Nginx to allow this?&lt;/P&gt;
&lt;P&gt;Furthermore, we also require virtual proxies for some of our custom apps and we would like to be able to access the virtual proxy via ourdomain.com/qliksense1/virtualproxy and ourdomain.com/qliksense2/virtualproxy.&lt;BR /&gt;Is this possible?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Thank you!&lt;/P&gt;</description>
      <pubDate>Tue, 16 Apr 2024 10:41:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2441665#M20365</guid>
      <dc:creator>bogdangheorghe</dc:creator>
      <dc:date>2024-04-16T10:41:19Z</dc:date>
    </item>
    <item>
      <title>Re: Route multiple QlikSense servers through Nginx</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2441777#M20366</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;You can find help here to build your nginx configuration: &lt;A href="https://community.qlik.com/t5/Member-Articles/Qlik-Sense-Nginx-Reverse-Proxy-for-Automatically-Renewed-Trusted/tac-p/2023277" target="_self"&gt;https://community.qlik.com/t5/Member-Articles/Qlik-Sense-Nginx-Reverse-Proxy-for-Automatically-Renewed-Trusted/tac-p/2023277&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;You will need two server block, with location /qliksense1 for the first, and /qliksense2 for the second one. &lt;BR /&gt;You can add the virtual proxy by adding a location like /qliksense1/vp1 &lt;BR /&gt;&lt;BR /&gt;Regards&lt;/P&gt;</description>
      <pubDate>Tue, 16 Apr 2024 14:29:25 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2441777#M20366</guid>
      <dc:creator>mpc</dc:creator>
      <dc:date>2024-04-16T14:29:25Z</dc:date>
    </item>
    <item>
      <title>Re: Route multiple QlikSense servers through Nginx</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2442994#M20396</link>
      <description>&lt;DIV&gt;Hello,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Thanks for your reply.&lt;/DIV&gt;
&lt;DIV&gt;This is what we tried so far:&lt;/DIV&gt;
&lt;DIV&gt;&lt;LI-CODE lang="markup"&gt;server {
		listen 443 ssl;
        listen [::]:443 ssl;
        include snippets/self-signed.conf;
        include snippets/ssl-params.conf;
		
		server_name nginx.ourdomain.com;

        location /qliksense/ {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;

            # X-Forwarded headers
            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 https; # We enforce HTTPS for all returns

            # Proxy specific variables
            proxy_redirect off;
            proxy_read_timeout 60m;
            proxy_send_timeout 60m;
            proxy_http_version 1.1;
            proxy_connect_timeout 5s;

            # Add support for websockets
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;

            # proxy_buffering should be on for all but very rare cases
            proxy_buffering on;

            # proxy_buffers should not exceed 63
            proxy_buffers 63 128k;
            proxy_buffer_size 128k;

            proxy_pass https://qliksense.ourdomain.com;
        }
        
        location /qliksense/internal_windows_authentication/ {
            proxy_set_header Host $http_host;

            proxy_http_version 1.1;
            proxy_set_header Connection '';

            proxy_pass https://qliksense.ourdomain.com;
        }

        location /qliksense/vp1 {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;

            # X-Forwarded headers
            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 https; # We enforce HTTPS for all returns

            # Proxy specific variables
            proxy_redirect off;
            proxy_read_timeout 60m;
            proxy_send_timeout 60m;
            proxy_http_version 1.1;
            proxy_connect_timeout 5s;

            # Add support for websockets
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;

            # proxy_buffering should be on for all but very rare cases
            proxy_buffering on;

            # proxy_buffers should not exceed 63
            proxy_buffers 63 128k;
            proxy_buffer_size 128k;

            proxy_pass https://qliksense.ourdomain.com/;
            #We also tried this.
            #proxy_pass https://qliksense.ourdomain.com/vp1/;
        }
        
        location /qliksense/vp1/internal_windows_authentication/ {
            proxy_set_header Host $http_host;

            proxy_http_version 1.1;
            proxy_set_header Connection '';

            proxy_pass https://qliksense.ourdomain.com/;
            #We also tried this.
            #proxy_pass https://qliksense.ourdomain.com/vp1/;
        }
    }
}&lt;/LI-CODE&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;If we try to access &lt;A href="https://nginx.ourdomain.com/qliksense/vp1" target="_blank"&gt;https://nginx.ourdomain.com/qliksense/vp1&lt;/A&gt; we get Error 400.&lt;/DIV&gt;
&lt;DIV&gt;We also tried using 2 server blocks and it seems the only one working is the last one.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Any ideas?&lt;/DIV&gt;</description>
      <pubDate>Fri, 19 Apr 2024 13:52:54 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2442994#M20396</guid>
      <dc:creator>bogdangheorghe</dc:creator>
      <dc:date>2024-04-19T13:52:54Z</dc:date>
    </item>
    <item>
      <title>Re: Route multiple QlikSense servers through Nginx</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2443372#M20398</link>
      <description>&lt;P&gt;Hi, &lt;BR /&gt;&lt;BR /&gt;Error 400 is usually triggered because the domain name used to access Qlik is not listed in the Origin allow list. More info:&lt;BR /&gt;&lt;A href="https://community.qlik.com/t5/Official-Support-Articles/How-to-configure-the-WebSocket-origin-allow-list-and-best/ta-p/1716765" target="_blank"&gt;https://community.qlik.com/t5/Official-Support-Articles/How-to-configure-the-WebSocket-origin-allow-list-and-best/ta-p/1716765&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 22 Apr 2024 07:14:50 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2443372#M20398</guid>
      <dc:creator>mpc</dc:creator>
      <dc:date>2024-04-22T07:14:50Z</dc:date>
    </item>
    <item>
      <title>Re: Route multiple QlikSense servers through Nginx</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2443394#M20399</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;In this case, we have whitelisted the domain name and the IP for vp1 as well as Central Proxy (not even sure this is necessary).&lt;/P&gt;</description>
      <pubDate>Mon, 22 Apr 2024 08:19:11 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2443394#M20399</guid>
      <dc:creator>bogdangheorghe</dc:creator>
      <dc:date>2024-04-22T08:19:11Z</dc:date>
    </item>
    <item>
      <title>Re: Route multiple QlikSense servers through Nginx</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2443748#M20402</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Then can you share a screenshot of your browser's console. It might contains some useful informations.&lt;BR /&gt;&lt;BR /&gt;Kind regards&lt;/P&gt;</description>
      <pubDate>Tue, 23 Apr 2024 05:34:24 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2443748#M20402</guid>
      <dc:creator>mpc</dc:creator>
      <dc:date>2024-04-23T05:34:24Z</dc:date>
    </item>
    <item>
      <title>Re: Route multiple QlikSense servers through Nginx</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2443908#M20404</link>
      <description>&lt;P&gt;There's only one error in the console:&lt;/P&gt;
&lt;P&gt;GET &lt;A href="https://nginx.ourdomain.com/qliksense/vp1" target="_blank"&gt;https://nginx.ourdomain.com/qliksense/vp1&lt;/A&gt; 400 (The http request header is incorrect.)&lt;/P&gt;</description>
      <pubDate>Tue, 23 Apr 2024 11:59:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2443908#M20404</guid>
      <dc:creator>bogdangheorghe</dc:creator>
      <dc:date>2024-04-23T11:59:26Z</dc:date>
    </item>
    <item>
      <title>Re: Route multiple QlikSense servers through Nginx</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2444038#M20405</link>
      <description>&lt;P&gt;Ok, then can you share you Proxy logs ? &lt;BR /&gt;It might provide more information about this famous header, and will help us to understand the error I think&lt;/P&gt;</description>
      <pubDate>Tue, 23 Apr 2024 16:07:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2444038#M20405</guid>
      <dc:creator>mpc</dc:creator>
      <dc:date>2024-04-23T16:07:00Z</dc:date>
    </item>
    <item>
      <title>Re: Route multiple QlikSense servers through Nginx</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2445149#M20421</link>
      <description>&lt;P&gt;If you are referring to the logs in %ProgramData%\Qlik\Sense\Logs\Proxy, I attached an archive.&lt;/P&gt;</description>
      <pubDate>Wed, 08 May 2024 11:35:24 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2445149#M20421</guid>
      <dc:creator>bogdangheorghe</dc:creator>
      <dc:date>2024-05-08T11:35:24Z</dc:date>
    </item>
    <item>
      <title>Re: Route multiple QlikSense servers through Nginx</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2445206#M20423</link>
      <description>&lt;P&gt;Thanks a lot, I'm checking that and I'll return to you&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 10:10:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2445206#M20423</guid>
      <dc:creator>mpc</dc:creator>
      <dc:date>2024-04-26T10:10:00Z</dc:date>
    </item>
    <item>
      <title>Re: Route multiple QlikSense servers through Nginx</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2445215#M20424</link>
      <description>&lt;P&gt;I didn't see any attempt to access Qlik Sense through NGINX in the logs, maybe you can delete the previous archive and post share one with attemps, located I think in the archived logs folder.&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 10:33:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Route-multiple-QlikSense-servers-through-Nginx/m-p/2445215#M20424</guid>
      <dc:creator>mpc</dc:creator>
      <dc:date>2024-04-26T10:33:26Z</dc:date>
    </item>
  </channel>
</rss>

