Я щойно спробував це на сервері nginx, в якому я сидів перед бекендом Apache.
curl -H "Content-Encoding: gzip" --include -d @testfile.gz http://example.com/upload_file.php
скручування автоматично додається:
Expect: 100-continue
до заголовків запиту
nginx відправив назад a
HTTP/1.1 100 Continue
відповідь і згортання подаються після надсилання gzipped даних. nginx передав всю партію назад до Apache, ще стиснутої та з Content-Encoding:
непорушним заголовком.
Якщо я не додав Content-Encoding: gzip
заголовок із завиткою, я не отримав відповідь HTTP 100, але все інше було те саме.
Це ще не відповідає на ваше запитання, але це означає, що nginx або не обробляє це за замовчуванням, або не розблоковує тіло запиту, коли він наближається. Мене зацікавила відповідь на цей, тому я побачу, чи зможу я трохи пізніше спробувати його на непомітному сервері nginx.
Імовірно, ви могли б вирішити проблему пропускної здатності, надіславши ці запити до бекенда Apache з mod_deflate, але це ігнорує причину, коли ви вибрали nginx в першу чергу.