2006/02/21 13:01:28 [emerg] 736#0: "proxy_pass" may not have URI part in
location given by regular expression in /usr/local/etc/nginx/nginx.conf:116
Попытка сделать так:
location /photos/ {
if ($request_uri ~ ^/photos/(a|b|c).*) {
proxy_pass http://some.url/;
}
if ($request_uri ~ ^/photos/(d|i|f).*) {
proxy_pass http://other.url/;
}
}
Тоже провалилась:
[root@xxxxxxxxxx:~]# nginx -t
2006/02/21 13:21:18 [emerg] 762#0: directive "proxy_pass" in
/usr/local/etc/nginx/nginx.conf:109 is not allowed here
Посоветуйте другой, наиболее оптимальный вариант реализации.
--
С уважением, Роман Ковригин. Компания РосБизнесКонсалтинг. Отдел разработки.
http://rvk.phpclub.net
у меня вот так работает:
location ^~ /files/ {
rewrite ^/files/([^?&=]+\.(avi|mpeg|mpg|wmv))$
/down.php/files/$1 break;
rewrite ^/files/ /index.php?page=files break;
proxy_pass http://127.0.0.1;
proxy_buffer_size 8k;
proxy_buffers 4 32k;
proxy_temp_file_write_size 256k;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Вы не поняли (или я?). У меня 2 файловых сервера. Мне нужно в
зависимости от первой буквы логина пользователя (url вида
/photos/<user_nick>/...) проксировать на один из серверов.
--
С уважением, Роман Ковригин. Компания РосБизнесКонсалтинг. Отдел разработки.
http://rvk.phpclub.net