location - файлы и бэкэнд

Eugene Fominykh worrks at gmail.com
Thu Jun 5 10:04:31 MSD 2008


Вот еще выловил в логе ошибок Апача

[info] [client 192.168.1.45] (32)Broken pipe: client stopped connection before rwrite completed

чего то апач долго там обрабатывает

Eugene Fominykh пишет:
> Вот два куска дебаг-лога - один с if ( $request_method = "POST" ), 
> другой - без
> 
> Это с:
> 2008/05/30 07:30:59 [debug] 24269#0: *5 http cleanup add: 2841BCDC
> 2008/05/30 07:30:59 [debug] 24269#0: *5 get rr peer, try: 1
> ...
> 2008/05/30 07:30:59 [debug] 24269#0: *5 http proxy status 200 "200 OK"
> Тут дальше идут хидеры
> 
> 
> Это без:
> 2008/05/30 07:43:18 [debug] 24330#0: *5 http cleanup add: 2841BB8C
> 2008/05/30 07:43:18 [debug] 24330#0: *5 get rr peer, try: 1
> ...
> 2008/05/30 07:43:48 [debug] 24330#0: *5 free rr peer 1 4
> 2008/05/30 07:43:48 [error] 24330#0: *5 upstream timed out (60: 
> Operation timed out) while reading response header from upstream
> и тут вылетаем по таймауту
> 
> proforg пишет:
> 
>> А что пишет в debug log'е про этот запрос ?
>>
>> У меня до 0.7.0 включительно нормально работает
>>
>> location / {
>>      if ( $request_method = "POST" ) { rewrite / /index.php last; }
>> }
>>
>> Ещё по идее должно работать
>>     rewrite / @backend
>>
>> в 0.7.1 правда у меня не работает ни то ни то:)
>>
>> В твоём же случае как я понимаю даже без  if ($request_method = POST ) {
>> POST запрос уйдёт на @backend - так как для / будет 405.
>>
>>
>> On 29.05.2008, at 9:51, Eugene Fominykh wrote:
>>
>>> У меня теперь не передается POST на backend - отваливается по таймауту.
>>> А вот так работает.
>>>
>>>        location / {
>>>           if ($request_method = POST ) {
>>>               proxy_pass http://xxx.xxx.xxx.xxx:8008;
>>>           }
>>>            root /sites/$host/;
>>>            expires 48h;
>>>            error_page 403 404 405 = @backend;
>>>        }
>>>
>>> Может тут есть другой выход?
>>>
>>>
>>>
> 
> 
> 
> 






More information about the nginx-ru mailing list