Re: Проблема с проксированием(не работает proxy buffering)
Maxim Dounin
mdounin на mdounin.ru
Пн Фев 1 18:36:43 MSK 2010
Hello!
On Mon, Feb 01, 2010 at 09:20:50AM -0500, unclead wrote:
> В свое время была поставлена задача по настройке проксирования
> отгрузок контента с портала партнера.
> Настроить само проксирование не составило труда, а вот в
> детальными настройками возникли проблемы.
>
> Необходимо, чтобы в случае если юзер на своей стороне разрывает
> соединение nginx не продолжал выкачивать контент с сервера
> партнеров.
>
> Судя по документации за это отвечает параметр proxy_buffering
> off;
> Но на практике вышло, что когда абонент рвет соединение,
> прокси(в данном случае nginx) выкачивает еще часть данных, но
> они уже не передаются юзеру.
> В итоге у нас в логе одно кол-во переданных байт, у партнера это
> значение больше.
За закрытие соединения отвечает proxy_ignore_client_abort (по
умолчанию off, т.е. закрывать). Впрочем, она у вас в конфиге
также явно стоит.
Директива proxy_buffering off; отвечает за минимизицию буферизации
внутри самого nginx'а. Но как не минимизируй - есть ещё как
минимум буфера сокета через который всё это забирается (на
отправку на той стороне, на приём на этой).
[...]
> Разница почти в 100кб на каждом запросе. За час выходит разница
> в 200-300 Мб.
Вполне разумные несовпадения, отвечающие разумным размерам
буферов. Можно их пытаться уменьшить, но это скорее всего
негативно скажется на скорости (ну и не факт что ваш партнёр
согласится тюнить свои буфера).
Maxim Dounin
Подробная информация о списке рассылки nginx-ru