Помогите с конфигом (nginx/0.7.62)

Konstantin Belov belov1985 на gmail.com
Пт Ноя 27 20:17:02 MSK 2009


Здравствуйте.

Есть несколько апстримов, появилась необходимость выполнять некоторые 
запросы на конкретном апстриме.

Пример запросов:
http://rpc.local/s1/munin.php
http://rpc.local/s2/munin.php
http://rpc.local/s3/munin.php



В голову пришел только такой конфиг, но не могу понять, как правильно 
написать реврайты.
Проблема в том, что не могу избавиться от "s1, s2, s3" после того, как 
запрос уходит в нужный локейшн.


конфиг:

upstream srv1 {
    server 192.168.0.2:5500;
}
upstream srv2 {
    server 192.168.0.3:5500;
}
upstream srv3 {
    server 192.168.0.4:5500;
}
     
server {
    listen       192.168.0.1:80;
    server_name rpc.local;
   
    allow 192.168.0.0/24;
    deny all;
   
    root   /usr/local/www/rpc/;
   
    location / {
        return 404;
    }
                     

    location ~ ^/s1/(.*\.php)$ {
        fastcgi_pass   srv1;
   
#вот так не работает :(
#fastcgi_param  SCRIPT_FILENAME  /usr/local/www/rpc/$1;

        fastcgi_param  SCRIPT_FILENAME  
/usr/local/www/rpc/$fastcgi_script_name;
        fastcgi_param  QUERY_STRING     $query_string;
        fastcgi_param  REQUEST_METHOD   $request_method;
        fastcgi_param  CONTENT_TYPE     $content_type;
       fastcgi_param  CONTENT_LENGTH   $content_length;
    }
   
   
    location ~ ^/s2/(.*\.php)$ {
        fastcgi_pass   srv2;
   
        fastcgi_param  SCRIPT_FILENAME  
/usr/local/www/rpc/$fastcgi_script_name;
        fastcgi_param  QUERY_STRING     $query_string;
        fastcgi_param  REQUEST_METHOD   $request_method;
        fastcgi_param  CONTENT_TYPE     $content_type;
       fastcgi_param  CONTENT_LENGTH   $content_length;
    }



    location ~ ^/s3/(.*\.php)$ {
        fastcgi_pass   srv3;
   
        fastcgi_param  SCRIPT_FILENAME  
/usr/local/www/rpc/$fastcgi_script_name;
        fastcgi_param  QUERY_STRING     $query_string;
        fastcgi_param  REQUEST_METHOD   $request_method;
        fastcgi_param  CONTENT_TYPE     $content_type;
       fastcgi_param  CONTENT_LENGTH   $content_length;
    }
}

nginx version: nginx/0.7.62


Спасибо!



Подробная информация о списке рассылки nginx-ru