2010-07-11 26 views
8

Dường như nginx 0.8.35 may support chunked transfer encoding:nginx Kích hoạt chunked Chuyển Encoding

thay đổi với nginx 0.8.35 01 Apr 2010

*) Change: now the charset filter runs before the SSI filter. 

*) Feature: the "chunked_transfer_encoding" directive. 

này là rất tốt, bởi vì tôi đang cố gắng để có được git push thay đổi thông qua proxy ngược nginx thành quy trình phụ trợ git-http. Git HTTP tận dụng mã hóa chuyển chunked for client-side efficiency reasons.

Tuy nhiên, tôi không thể làm cho nó hoạt động. Tôi đang sử dụng nginx 0.8.44 trên Debian Lenny với gọi cấu hình sau:

./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 

Và file conf sau:

server { 
    server_name example.com; 
    location/{ 
     proxy_pass http://192.168.0.10; 
     include  /etc/nginx/proxy.conf; 
     chunked_transfer_encoding on; 
    } 
} 

Và tôi proxy.conf trông như thế này:

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; 

Trả lời

1

Tôi tin rằng chunked_transfer_encoding được bật theo mặc định. Cờ cấu hình hoạt động đúng khi được thêm vào phạm vi máy chủ {} và không hợp lệ khi được đặt trong phạm vi vị trí {}.