Sayangnya, saya tidak dapat mengomentari kiriman cnst - jadi saya akan menjawab di sini.
The nginx_http_proxymodul dengan pembicaraan default dengan hulu di HTTP / 1.0. Ini bisa diubah dengan arahan proxy_http_version 1.1.
Ini mungkin juga menjadi penyebab skrip Anda mengembalikan jawaban HTTP / 1.0, meskipun kode chunked dan kode status 307tidak ada dalam versi ini.
Anda juga tidak boleh menggunakan chunked coding dengan redirect , karena ini tidak masuk akal.
Selain itu, sepertinya nginx tidak meneruskan bongkahan dari hulu ke klien satu per satu, tetapi ia mendukung respons hulu . Bidang Content-Lengthtajuk diabaikan karena melanggar definisi. Saya harus melihat kode sumber modul karena semua ini tampaknya tidak berdokumen.
Anda mungkin ingin mencoba nginx_tcp_proxy_moduleproksi konten chunked sebagai data TCP mentah: Modul di Github
UPDATE (10.04.14)
The
nginx_http_proxymodul memiliki dukungan untuk
X-Accel-* header , yang satu (
X-Accel-Buffering: yes|no) mengontrol apakah respon harus buffered atau tidak.
Menambahkan header ini ( X-Accel-Buffering: no) ke respons backend akan menyebabkan nginx untuk secara langsung meneruskan potongan ke klien.
Header ini memungkinkan untuk mengontrol penyanggaan berdasarkan permintaan .
Modul ini juga memiliki arahan konfigurasi proxy_buffering untuk mengaktifkan atau menonaktifkan buffering respons (bukan buffering berarti mengirim potongan akan berfungsi).
Proxy buffering (berbasis header dan direktif) didokumentasikan di sini .