Схоже, що nginx 0.8.35 може підтримувати кодовану передачу з фрагментами :
Зміни з nginx 0.8.35 01 квітня 2010 року
*) Change: now the charset filter runs before the SSI filter. *) Feature: the "chunked_transfer_encoding" directive.
Це чудово, тому що я намагаюся отримати зміни git зміни через зворотний проксі-файл nginx до процесу git-http-backkend. Git HTTP користується перевагою чіткого кодування передачі з міркувань ефективності на стороні клієнта .
Однак я не можу змусити його працювати. Я використовую nginx 0.8.44 для Debian Lenny із таким викликом конфігурації:
./configure \
--sbin-path=/usr/sbin \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--user=www-data \
--group=www-data \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_realip_module
І наступний конф-файл:
server {
server_name example.com;
location / {
proxy_pass http://192.168.0.10;
include /etc/nginx/proxy.conf;
chunked_transfer_encoding on;
}
}
І моє proxy.conf
виглядає так:
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 100M;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
(Спочатку я опублікував це запитання в Stack Overflow, але мені було повідомлено, що воно більше відповідає вини сервера)