ПРОЕКТЫ 


  АРХИВ 


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: location ~ and proxy_pass



On Tue, 8 Mar 2005, Anton V. Yuzhaninov wrote:

Как можно проксировать только запросы на файлы определенных типов?

Пишу в конфиге

       location ~ ^.+\.(php|pl|cgi|shtml)$ {
           proxy_pass  http://127.0.0.1/;
           proxy_preserve_host        on;
           proxy_set_x_real_ip        on;

           client_max_body_size       10m;
           client_body_buffer_size    128k;

           proxy_connect_timeout      90;
           proxy_read_timeout         90;
           proxy_send_timeout         90;
           proxy_send_lowat           12000;

           proxy_header_buffer_size   4k;
           proxy_buffers              8 32k;
           proxy_busy_buffers_size    64k;

           proxy_temp_file_write_size 2048k;
           proxy_temp_path            /tmp;
       }

Запрашиваю в браузере любой файл *.php и вижу в error.log

2005/03/07 18:21:22 [alert] 93066#0: worker process 93384 exited on signal 10

Если посылать GET телнетом, то соединение рвется сразу после отправки
запроса. К бэкенду он даже не пытается коннектиться...

Если делать наоборот - проксировать все, а через nginx отдавать только
файлы определенных типов то работает.

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

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


Игорь Сысоев
http://sysoev.ru




 




Copyright © Lexa Software, 1996-2009.