Trailing slash in location

Please help me understand

The below works

 location /stats/ {
    proxy_pass http://example.com;
 }

or

 location /stats {
    proxy_pass http://example.com;
 }

or

 location /stats {
    proxy_pass http://example.com/stats;
 }

or

 location /stats {
    proxy_pass http://example.com/stats/;
 }

or

 location /stats/ {
    proxy_pass http://example.com/stats/;
 }

But this does not work

 location /stats/ {
    proxy_pass http://example.com/stats;
 }

Smlly when stats is an upstream

This works

location /stats {
proxy_pass http://stats;
}

but this does not

location /stats {
proxy_pass http://stats/;
}

What difference it makes when we have uri in the proxy_pass?

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

On Nov 18, 2012, at 17:25 , amodpandey wrote:

location /stats {

But this does not work
proxy_pass http://stats;
}

but this does not

location /stats {
proxy_pass http://stats/;
}

It should work. Probably “/stats/” > “/stats” does not work.

What difference it makes when we have uri in the proxy_pass?

It does not work because nginx changes /stats/SOME/PAGE to
/statsSOME/PAGE.

Please read for details:
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass


Igor S.
http://nginx.com/support.html

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs