proxy_pass with trailing slash issue

John Moore grails at
Thu May 17 18:39:15 UTC 2012

I'm using nginx (0.7.65) as a reverse proxy in front of a bunch of 
Tomcat instances. A couple of years ago, following Igor's suggestions on 
the mailing list, I made a minor change to the configuration to deal 
with a problem with encoding/decoding with some URLs proxied to Tomcat. 
I appended a forward slash to the proxy_pass, so instead of having this:

     proxy_pass  http://backend;

I had this:

     proxy_pass  http://backend/;

It fixed the problem. But it had the side-effect (at least I assume it 
was this) of inserting an extraneous leading slash into the proxied URL, 
so that the requests ending up at Tomcat are like this:

"GET //whatever"

It's not actually breaking anything that I know about at the moment, but 
it's clearly wrong and I'd like to fix it. How do I change my config so 
that I get the benefits of the trailing slash with proxy_pass without 
having the extraneous leading slash in the proxied request?

More information about the nginx mailing list