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