Właśnie próbowałem tego na serwerze nginx, który mam przed backendem Apache.
curl -H "Content-Encoding: gzip" --include -d @testfile.gz http://example.com/upload_file.php
curl automatycznie dodane:
Expect: 100-continue
do nagłówków żądania.
nginx odesłał a
HTTP/1.1 100 Continue
odpowiedzi i curl, a następnie wysyłanie spakowanych danych. nginx przekazał całą partię z powrotem do Apache, nadal skompresowany i nadal z Content-Encoding:
nienaruszonym nagłówkiem.
Jeśli nie dodałem Content-Encoding: gzip
nagłówka z curl, nie otrzymałem odpowiedzi HTTP 100, ale wszystko inne było takie samo.
To jeszcze nie odpowiada na twoje pytanie, ale sugeruje, że nginx albo nie obsługuje tego domyślnie, albo nie rozpakowuje treści żądania, gdy jest ono proxy. Jestem zainteresowany odpowiedzią na to pytanie, więc przekonam się, czy mogę wypróbować ją później na innym serwerze proxy niż Nginx.
Prawdopodobnie mógłbyś rozwiązać problem z przepustowością poprzez przybliżenie tych żądań do backendu Apache za pomocą mod_deflate, ale to ignoruje powód, dla którego wybrałeś nginx.
Właśnie znalazłem ten artykuł: Jak sprawić, by Nginx zdekompresował żądanie gzip
Wygląda dobrze, ale jeszcze tego nie próbowałem. Mam nadzieję, że to pomoże.
źródło
Znalazłem dobre kroki na cyfrowym oceanie dla Ubuntu 14.04
To jest dobre
źródło