Nginx Reverse Proxy Lowercase URL and some exceptions to the URL

Francis Daly francis at daoine.org
Thu Oct 3 17:37:06 UTC 2019


On Thu, Oct 03, 2019 at 12:21:29PM -0400, Alex Med wrote:

Hi there,

> Location #1
> location ~
> ^/(api|contentAsset|categoriesServlet|DotAjaxDirector|html|dwr|dA)/ {}
> 
> Location #2 ----> This location does the lowercasing
> location ~ [A-Z] { return 301 $scheme://$host$my_uri_to_lowercase;}
> 
> Location #3
> location /{}
> 
> Everything is lowercased.  So I want some paths to be untouched. So I
> created location #1 to exclude some paths from lowercasing.  The problem is
> that 
> in some URLs containing the paths above are lowercased.  For example:
> /dwr/interface/CategoryAjax.js, /dwr/interface/HostAjax.js are lowercased.
> Also, /html/images/languages/gh_TW.gif

If I make my server{} have three location{}s:

==
location ~ ^/(api|contentAsset|categoriesServlet|DotAjaxDirector|html|dwr|dA)/ {
  return 200 "In the first location, uri $uri\n";
}

location ~ [A-Z] { return 200 "In the A-Z location, uri $uri\n"; }

location / { return 200 "In the / location, uri $uri\n"; }
==

then the requests for /dwr/interface/CategoryAjax.js,
/dwr/interface/HostAjax.js, and /html/images/languages/gh_TW.gif are
served from the first location, not the second.

So - I'm not seeing what you are reporting.

When you do a "curl -i" for /dwr/interface/CategoryAjax.js, what response
do you get?

HTTP 200, HTTP 301, something else?

Thanks,

	f
-- 
Francis Daly        francis at daoine.org


More information about the nginx mailing list