Помогите с конфигом (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