map $uri in 1.3.0+ NOT working in 1.6.0+

nikolaos2012 nginx-forum at nginx.us
Fri Oct 3 03:08:53 UTC 2014


We have the following code that worked in 1.3.16....


# Map VWS URI's to HTTP ($use_secure=0), HTTPS ($use_secure=1) or keep same
($use_secure=2)
map $uri $use_secure {
default 0;
~^/sites/ 2;
~^/account/ 1;
}


And this file for the main config that includes the map file:

include /srv/etc/web_x/nginx/include/example.org_prepend.conf;

server {
listen 192.168.0.101:80;
server_name p3.example.com;

# If map says that this resource should be served over HTTPS (vs. HTTP) then
redirect now
if ($use_secure = 1) {
return 301 https://securep3.example.com$request_uri;
}
}


However in 1.6.0 and 1.6.1 $use_secure is ALWAYS 0 no matter what URI is
used.

I have even tried using $request_uri instead of $uri and it still won't
work.

Why is this not backward compatible OR what am I doing wrong?

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,253733,253733#msg-253733



More information about the nginx mailing list