Welcome! Log In Create A New Profile

Advanced

Проблема с проксированием(не работает proxy_buffering)

February 01, 2010 07:43AM
Доброго времени суток!

В свое время была поставлена задача по настройке проксирования отгрузок контента с портала партнера.
Настроить само проксирование не составило труда, а вот в детальными настройками возникли проблемы.

Необходимо, чтобы в случае если юзер на своей стороне разрывает соединение nginx не продолжал выкачивать контент с сервера партнеров.

Судя по документации за это отвечает параметр proxy_buffering off;
Но на практике вышло, что когда абонент рвет соединение, прокси(в данном случае nginx) выкачивает еще часть данных, но они уже не передаются юзеру.
В итоге у нас в логе одно кол-во переданных байт, у партнера это значение больше.

Т.е. исходящий трафик меньше входящего.
К сожалению не смог найти в сети аналогичных топиков.

Конфигурация location выглядит так

location /trna/1043/ {

proxy_buffering off;
proxy_ignore_client_abort off;
proxy_max_temp_file_size 0;
keepalive_timeout 0;
reset_timedout_connection on;
proxy_buffer_size 1k;
# lingering_time 0;
# lingering_timeout 0;
tcp_nopush on;
# tcp_nodelay on;


more_clear_headers 'Expires';
add_header Cache-control 'no-store,no-cache,must-revalidate';
add_header Expires "Wed, 28 Oct 2009 06:45:35 GMT";
proxy_pass http://spaces.ru/;
}

Конфиг http выглядит так
===============================================
user nginx nginx;
worker_processes 2;
worker_rlimit_nofile 8192;

#error_log /var/log/nginx/error_log info;

events {
# worker_connections 8192;
worker_connections 2048;
use epoll;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

log_format main
'$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"';

server_names_hash_max_size 1024;

log_format todatabase ' $http_host $server_name $time_local $remote_addr $request $status $body_bytes_sent $bytes_sent $request_length $http_msisdn - - - $http_user_agent -';

client_header_timeout 10m;
client_body_timeout 10m;
send_timeout 10m;

connection_pool_size 256;
client_header_buffer_size 1k;
large_client_header_buffers 4 2k;
request_pool_size 4k;

gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain text/html;

output_buffers 1 32k;
postpone_output 1460;

sendfile on;
tcp_nopush on;
tcp_nodelay on;

keepalive_timeout 75 20;

ignore_invalid_headers off;

index index.html;

Как пример приведу пару строк из логов:

вырезка из нашего лога(жирным выделено кол-во байт)
nginx: spgprs.ru spgprs.ru 29/Jan/2010:16:30:05 +0300 217.66.146.33 GET /****/9541622434979532/128/1711957/Ruki_vverh_-_Territoriya_(MS_Fanta_edit).mp3 HTTP/1.1 200 33819 [b]34189[/b] 1222 - - - - Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5530c-2/11.0.054; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Safari/525 -
nginx: spgprs.ru spgprs.ru 29/Jan/2010:16:31:23 +0300 217.66.146.33 GET /*****/9541622434979532/128/1711957/Ruki_vverh_-_Territoriya_(MS_Fanta_edit).mp3 HTTP/1.1 200 59659 [b]60029[/b] 1222 - - - - Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5530c-2/11.0.054; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Safari/525 -
nginx: spgprs.ru spgprs.ru 29/Jan/2010:16:33:01 +0300 217.66.146.33 GET /*****/9541622434979532/128/1711957/Ruki_vverh_-_Territoriya_(MS_Fanta_edit).mp3 HTTP/1.1 200 95019 [b]95389[/b] 1222 - - - - Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5530c-2/11.0.054; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Safari/525 -


а вот теже файлы но уже в логе партнера
TEHb, 1/29/2010 7:39:29 PM:
195.133.69.130 - - [29/Jan/2010:16:30:05 +0300] "GET /mmm/9541622434979532/128/1711957/Ruki_vverh_-_Territoriya_(MS_Fanta_edit).mp3 HTTP/1.0" 200 [b]225619[/b] "http://spaces.ru/music/?sid=9724956234329541&read=1711957&from=search&word=%D1%80%D1%83%D0%BA%D0%B8%20%D0%B2%D0%B2%D0%B5%D1%80%D1%85" "Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5530c-2/11.0.054; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Safari/525" 3.692 10.0.0.5:8080 0.787
195.133.69.130 - - [29/Jan/2010:16:31:23 +0300] "GET /mmm/9541622434979532/128/1711957/Ruki_vverh_-_Territoriya_(MS_Fanta_edit).mp3 HTTP/1.0" 200 [b]229963[/b] "http://spaces.ru/music/?sid=9724956234329541&read=1711957&from=search&word=%D1%80%D1%83%D0%BA%D0%B8%20%D0%B2%D0%B2%D0%B5%D1%80%D1%85" "Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5530c-2/11.0.054; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Safari/525" 67.627 10.0.0.5:8080 0.014
195.133.69.130 - - [29/Jan/2010:16:33:02 +0300] "GET /mmm/9541622434979532/128/1711957/Ruki_vverh_-_Territoriya_(MS_Fanta_edit).mp3 HTTP/1.0" 200 [b]185291[/b] "http://spaces.ru/music/?sid=9724956234329541&read=1711957&from=search&word=%D1%80%D1%83%D0%BA%D0%B8%20%D0%B2%D0%B2%D0%B5%D1%80%D1%85" "Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5530c-2/11.0.054; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Safari/525" 146.648 10.0.0.5:8080 0.028


Разница почти в 100кб на каждом запросе. За час выходит разница в 200-300 Мб.
Subject Author Posted

Проблема с проксированием(не работает proxy_buffering)

unclead February 01, 2010 07:43AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 194
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready