ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: проксирование в з ависимости от URL





AleXXX V. NovikoFF пишет:
Здравствуйте!
Tue, 21 Feb 2006 14:15:56 +0300 Вы писали:

Хочется сделать так:
              location ~ ^/photos/(a|b|c).* {
                    proxy_pass http://some.url/;
              }

              location ~ ^/photos/(d|i|f).* {
                    proxy_pass http://other.url/;
              }

Но выдает ошибку:
[root@xxxxxxxxxx:~]# nginx -t
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




 




Copyright © Lexa Software, 1996-2009.