<?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>article How to setup QlikView with NGINX as a reverse proxy (configuration file example) in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/How-to-setup-QlikView-with-NGINX-as-a-reverse-proxy/ta-p/1716619</link>
    <description>&lt;P&gt;This article provides a configuration file example for NGINGX being used as a reverse proxy for QlikView.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN&gt;&lt;SPAN&gt;!&lt;/SPAN&gt; NOTE: &lt;/SPAN&gt;&lt;/STRONG&gt;NGINX is a high performance, highly scalable, highly available web server, reverse proxy server, and web accelerator, but is also a third-party tool not supported by Qlik. Configuration of NGINX in combination with Qlik products cannot be supported by&amp;nbsp;Qlik Product Support.&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;The provided NGINX rules have been internally tested by Qlik and are confirmed to work in a standard out of the box environment. Further customization might be necessary in other environments. Implement with caution.&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Environment:&lt;/H4&gt;
&lt;DIV&gt;&lt;LI-PRODUCT title="QlikView" id="qlikView"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;H3 class="qlik-migrated-tkb-headings"&gt;Resolution:&lt;/H3&gt;
&lt;P&gt;&lt;BR /&gt;The environment used in this example is a simple QlikView server installation on one server (server 2), and NGINX on another (server 1).&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Please find below the settings for the &lt;SPAN&gt;nginx.conf&lt;/SPAN&gt; file:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;HTTP:&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;events {
    worker_connections  1024;
}

http {

	##################################################
	######## Customize the Following Sections ########
	##################################################

    upstream qlikap {
        server name_of_server2:80;
		keepalive 64;
    }
	upstream qlikqmc {
        server name_of_server2:4780;
		keepalive 64;
    }
	##################################################

	server {
		listen 80 default_server;
		server_name _;
		
		proxy_pass_header Authorization;

		### Set headers ###
		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 http;
		
		# Proxy specific variables
		proxy_read_timeout 30m;
		proxy_send_timeout 30m;
		proxy_http_version 1.1;
		proxy_connect_timeout 5s;

		# Needed for NTLM authentication
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "Upgrade";

		#True if only server_name entered
 		location = / {
	       return 301 http://$host/qlikview/index.htm;
        }
		location ~* /qmc {
			#Disable the Log files as it gets very noisy
			access_log    off;
			log_not_found off;
			proxy_pass http://qlikqmc;
		}
		location ~* / {
			#Disable the Log files as it gets very noisy
			access_log    off;
			log_not_found off;
			proxy_pass http://qlikap;
		}
	
	}
}&lt;/LI-CODE&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;HTTPS:&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;events {
    worker_connections  1024;
}

http {

	##################################################
	######## Customize the Following Sections ########
	##################################################
	
	ssl_certificate ./conf/QVServer.domain.local.pem;
	ssl_certificate_key ./conf/QVServer.domain.local.key;

	##################################################

    # Load balancing with sticky session enabled, minimum ONE backend server
	# If upstream server uses HTTPS toggle proxy_pass options on lines 88/89
    upstream qlikap {
        server name_of_server2:443;
		keepalive 64;
    }
	
	    upstream qlikqmc {
        server name_of_server2:4780;
		keepalive 64;
    }
	
	##################################################

	# Redirect all HTTP traffic to HTTPS
	server {
		listen 80 default_server;
		server_name _;
		return 301 https://$host$request_uri;
	}	

	server {
		listen 443 ssl ;
		listen [::]:443 ssl ;
		server_name name_of_server1;
		
		proxy_pass_header Authorization;
		### Set headers ###
		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;
		
		# Proxy specific variables
		proxy_read_timeout 30m;
		proxy_send_timeout 30m;
		proxy_http_version 1.1;
		proxy_connect_timeout 5s;

		# Needed for NTLM authentication
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "Upgrade";
		
		#True if only server_name entered
 		location = / {
	       return 301 https://$host:443/qlikview/index.htm;
        }

		location ~* / {
			#Disable the Log files as it gets very noisy
			access_log    off;
			log_not_found off;
			proxy_pass https://qlikap;
		}

		location ~* /qmc {
			#Disable the Log files as it gets very noisy
			access_log    off;
			log_not_found off;
			proxy_pass http://qlikqmc;
		}
	}
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 02 Jul 2021 13:21:33 GMT</pubDate>
    <dc:creator>Sonja_Bauernfeind</dc:creator>
    <dc:date>2021-07-02T13:21:33Z</dc:date>
    <item>
      <title>How to setup QlikView with NGINX as a reverse proxy (configuration file example)</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/How-to-setup-QlikView-with-NGINX-as-a-reverse-proxy/ta-p/1716619</link>
      <description>&lt;P&gt;This article provides a configuration file example for NGINGX being used as a reverse proxy for QlikView.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN&gt;&lt;SPAN&gt;!&lt;/SPAN&gt; NOTE: &lt;/SPAN&gt;&lt;/STRONG&gt;NGINX is a high performance, highly scalable, highly available web server, reverse proxy server, and web accelerator, but is also a third-party tool not supported by Qlik. Configuration of NGINX in combination with Qlik products cannot be supported by&amp;nbsp;Qlik Product Support.&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;The provided NGINX rules have been internally tested by Qlik and are confirmed to work in a standard out of the box environment. Further customization might be necessary in other environments. Implement with caution.&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Environment:&lt;/H4&gt;
&lt;DIV&gt;&lt;LI-PRODUCT title="QlikView" id="qlikView"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;H3 class="qlik-migrated-tkb-headings"&gt;Resolution:&lt;/H3&gt;
&lt;P&gt;&lt;BR /&gt;The environment used in this example is a simple QlikView server installation on one server (server 2), and NGINX on another (server 1).&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Please find below the settings for the &lt;SPAN&gt;nginx.conf&lt;/SPAN&gt; file:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;HTTP:&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;events {
    worker_connections  1024;
}

http {

	##################################################
	######## Customize the Following Sections ########
	##################################################

    upstream qlikap {
        server name_of_server2:80;
		keepalive 64;
    }
	upstream qlikqmc {
        server name_of_server2:4780;
		keepalive 64;
    }
	##################################################

	server {
		listen 80 default_server;
		server_name _;
		
		proxy_pass_header Authorization;

		### Set headers ###
		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 http;
		
		# Proxy specific variables
		proxy_read_timeout 30m;
		proxy_send_timeout 30m;
		proxy_http_version 1.1;
		proxy_connect_timeout 5s;

		# Needed for NTLM authentication
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "Upgrade";

		#True if only server_name entered
 		location = / {
	       return 301 http://$host/qlikview/index.htm;
        }
		location ~* /qmc {
			#Disable the Log files as it gets very noisy
			access_log    off;
			log_not_found off;
			proxy_pass http://qlikqmc;
		}
		location ~* / {
			#Disable the Log files as it gets very noisy
			access_log    off;
			log_not_found off;
			proxy_pass http://qlikap;
		}
	
	}
}&lt;/LI-CODE&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;HTTPS:&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;events {
    worker_connections  1024;
}

http {

	##################################################
	######## Customize the Following Sections ########
	##################################################
	
	ssl_certificate ./conf/QVServer.domain.local.pem;
	ssl_certificate_key ./conf/QVServer.domain.local.key;

	##################################################

    # Load balancing with sticky session enabled, minimum ONE backend server
	# If upstream server uses HTTPS toggle proxy_pass options on lines 88/89
    upstream qlikap {
        server name_of_server2:443;
		keepalive 64;
    }
	
	    upstream qlikqmc {
        server name_of_server2:4780;
		keepalive 64;
    }
	
	##################################################

	# Redirect all HTTP traffic to HTTPS
	server {
		listen 80 default_server;
		server_name _;
		return 301 https://$host$request_uri;
	}	

	server {
		listen 443 ssl ;
		listen [::]:443 ssl ;
		server_name name_of_server1;
		
		proxy_pass_header Authorization;
		### Set headers ###
		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;
		
		# Proxy specific variables
		proxy_read_timeout 30m;
		proxy_send_timeout 30m;
		proxy_http_version 1.1;
		proxy_connect_timeout 5s;

		# Needed for NTLM authentication
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "Upgrade";
		
		#True if only server_name entered
 		location = / {
	       return 301 https://$host:443/qlikview/index.htm;
        }

		location ~* / {
			#Disable the Log files as it gets very noisy
			access_log    off;
			log_not_found off;
			proxy_pass https://qlikap;
		}

		location ~* /qmc {
			#Disable the Log files as it gets very noisy
			access_log    off;
			log_not_found off;
			proxy_pass http://qlikqmc;
		}
	}
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Jul 2021 13:21:33 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/How-to-setup-QlikView-with-NGINX-as-a-reverse-proxy/ta-p/1716619</guid>
      <dc:creator>Sonja_Bauernfeind</dc:creator>
      <dc:date>2021-07-02T13:21:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to setup QlikView with NGINX as a reverse proxy (configuration file example)</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/How-to-setup-QlikView-with-NGINX-as-a-reverse-proxy/tac-p/1844174#M4491</link>
      <description>&lt;P&gt;One important thing&lt;/P&gt;&lt;P&gt;Nginx community version does not support NTLM auth.&lt;/P&gt;&lt;P&gt;&lt;A href="http://nginx.org/en/docs/http/ngx_http_upstream_module.html#ntlm" target="_blank"&gt;http://nginx.org/en/docs/http/ngx_http_upstream_module.html#ntlm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;"This directive is available as part of our commercial subscription."&lt;/P&gt;&lt;P&gt;Unless if you pay for nginx for works well we need in QMC the virtual proxy based on Form Authentication.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Oct 2021 12:09:51 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/How-to-setup-QlikView-with-NGINX-as-a-reverse-proxy/tac-p/1844174#M4491</guid>
      <dc:creator>vinicius_rosa</dc:creator>
      <dc:date>2021-10-08T12:09:51Z</dc:date>
    </item>
  </channel>
</rss>

