Getting the URLs right when proxying to apache and mongrel

Maxim Dounin mdounin at mdounin.ru
Sun Sep 2 23:15:30 MSD 2007


Hello!

On Sun, 2 Sep 2007, Igor Sysoev wrote:

[...]
>> 2. The url required to access the rails app fails without the trailing
>> slash. So,
>>
>>   http://mote/rails/
>>
>> works, but the following doesn't
>>
>>   http://mote/rails
>
> In your configuration, proxied request is "GET  HTTP/1.0".
> What request should go to mongrel for /rails ?

I suppose apropriate change would be

-         location ^~ /rails {
+         location ^~ /rails/ {

BTW, Igor, what about documenting ngx_http_core_loc_conf_t's 
auto_redirect? And probably making it configurable for non-proxied 
locations.

Background: I've recently re-wrote by home site conf, and was a bit 
surprised that

     location /blah/ {
         proxy_pass ...;
     }

just works as expected - i.e. produces 301 moved for /blah requests even 
without coresponding directory under document root, while

     location /blah/ {
         rewrite ...;
     }

doesn't. So I was forced to wrote something like this

     location = /mail {
         rewrite ^(.*) https://$server_name$1 redirect;
     }
     location /mail/ {
         rewrite ^(.*) https://$server_name$1 redirect;
     }

just to redirect everything under /mail/ to https.

Maxim Dounin





More information about the nginx mailing list