Что-то я не понимаю принципов работы proxy :-/
Igor Sysoev
is at rambler-co.ru
Tue Jul 24 18:08:37 MSD 2007
On Tue, Jul 24, 2007 at 05:03:36PM +0400, Anton Noginov wrote:
> Есть конфиг:
>
> ---------
> server {
> listen 54321;
> access_log logs/access_log;
>
> location /frontend.bat {
> proxy_pass http://1.2.3.4:80;
> }
>
> ### frontend.bat дергается как frontend.bat?counter_id=12345
> ### и возвращает X-Accel-Redirect на некий /images/counter_54321.png
>
>
> location / {
> root counter;
> error_page 404 = /fetch$uri;
>
>
> }
>
> location /fetch {
> internal;
>
> proxy_pass http://2.3.4.5:18081;
> proxy_store on;
> proxy_store_access user:rw group:rw all:r;
> alias counter;
>
> }
>
> }
> ---------------
>
> Суть, надеюсь, понятна - получили X-Accel-Redirect на картинку, отдали ее с
> локальной fs, а если нет - ск04али с бэкэнда и закэшировали.
>
> Засада в том, что на бэкэнд приходит запрос не отданый x-accel-redirect, а
> изначальный, который frontend.bat?counter_id=12345.
>
> Что я делаю не так?
У proxy_pass есть фича - если нет URI-part и URI запроса не менялось с
помощью rewrite, то используется это оригинальное URI.
Лечится так:
- proxy_pass http://2.3.4.5:18081;
+ proxy_pass http://2.3.4.5:18081/;
> ps/2: И, чтобы два раза не вставать: стОит ли ждать proxy_store с хранением
> данных в мемкэше?
Нет.
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list