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

Denis F. Latypoff denis на gostats.ru
Пт Ноя 27 20:33:23 MSK 2009


Hello Konstantin,

Friday, November 27, 2009, 11:17:02 PM, you wrote:

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

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

> Пример запросов:
> 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_NAME      /$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


> Спасибо!


-- 
Best regards,
 Denis                            mailto:denis at gostats.ru




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