location ~ and proxy_pass

Anton V. Yuzhaninov citrin at citrin.ru
Wed Mar 9 22:59:49 MSK 2005


Здравствуйте Igor,

9 марта 2005 г., 19:12:22, Вы писали:

IS> proxy_pass не работает для location, заданных регулярным выражением.

IS> В общем случае есть два способа отображения uri на файловую систему/другой
IS> сервер - root и alias. root добавляет uri к root, а alias заменяет часть
IS> uri, соответствующую location, на alias. proxy_pass - это alias-отображение,
IS> а fastcgi_pass - root-отображение. alias вообще гибче, но нужно больше
IS> писать. В случае использования регулярного выражения для alias-отображения
IS> нужно как-то выделять заменяемую часть. В принципе, можно сделать, чтобы
IS> при использовании регулярного выражения proxy_pass приобретало характер
IS> root-отображения.

А какой тогда наименее кривой способ проксировать на бэкенд только
динамику? Через rewrite?

Структура сайта заранее неизвестна. Ориентироваться можно
только на типы файлов. Пока сделал так:

location / {
           proxy_pass  http://127.0.0.1/;
           ................
        }
location ~* \.(html|txt|jpg|jpeg|gif|mpg|mpeg|avi|png|css|swf|ico|zip|rar)$ {
           root   /usr/local/www/public_html;
        }

В принципе ничего страшного, что проксироваться будет немного больше запросов
чем надо - root у апача и nginx один и тот же.

-- 
 С Уважением,
 Антон Валерьевич Южанинов.






More information about the nginx-ru mailing list