map uri fastcgi_pass
Nikolay
nginx-forum at nginx.us
Wed Sep 17 08:25:08 UTC 2014
Здравствуйте, есть задача: перенаправить запрос c uri вида
/some/path/03_dfsakfa на бекенд server03.domain.tld с номером 03(берется из
uri).
Все остальные запросы надо отправлять на upstream fpm.
OS Debian 7.6
nginx version: nginx/1.2.1
При перезапуске nginx получаю ошибку:
Restarting nginx: nginx: [emerg] invalid number of the map parameters in
/etc/nginx/nginx.conf
Подскажите, что я делаю неправильно, где ошибка?
nginx.conf
http {
...
...
upstream fpm {
server 1.1.1.1:9001;
server 2.2.2.2:9001;
}
map $uri $back {
default "fpm";
~*"/some/path/(?<key>^\d{2})$(.+)$" server$key\.domain\.tld;
}
...
...
server {
...
location / {
root /some/path;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?$args last;
break;
}
location ~ \.php$ {
include fastcgi_params;
root /some/path;
fastcgi_pass $back;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
}
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,253340,253340#msg-253340
Подробная информация о списке рассылки nginx-ru