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

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


Denis F. Latypoff wrote:
> 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;
>
> ,
>
>   
Все равно что-то не то передается на бэкенд - No input file specified.

Может что-то не так с регулярным выражением в location?

>>         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