ПРОЕКТЫ 


  АРХИВ 


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: $request_body_file



On Thu, Dec 20, 2007 at 12:26:42AM +0300, square wrote:

> Здравствуйте, сейчас изучаю nginx, возникла проблема, вот кусок
> конфига:
> 
> ===============================================================================
> 
> location = /cgi-bin/script.cgi
> {
>     rewrite ^ /cgi-bin/script.cgi?tmp_file=$request_body_file break;
> 
>     client_body_in_file_only on;
>     client_max_body_size 50m;
>     client_body_temp_path /home/usr/domain.com/tmp;
> 
>     proxy_pass http://127.0.0.1:80/cgi-bin/;
>     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>     proxy_pass_request_body off;
> }
> 
> ===============================================================================
> 
> Все вроде бы срабатывает как надо, но к сожалению переменная 
> $request_body_file
> оказывается пустой.
> 
> Не подскажите, что я не так делаю? Заранее спасибо.

-     proxy_pass http://127.0.0.1:80/cgi-bin/;
+     proxy_pass http://127.0.0.1:80;


Если используется nginx 0.5.21+, то лучше так:

-     rewrite ^ /cgi-bin/script.cgi?tmp_file=$request_body_file break;
-     proxy_pass http://127.0.0.1:80/cgi-bin/;

      proxy_pass
            http://127.0.0.1:80/cgi-bin/script.cgi?tmp_file=$request_body_file;


И ещё лучше сделать так:

-     client_body_in_file_only on;
+     client_body_in_file_only clean;


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



 




Copyright © Lexa Software, 1996-2009.