Назад | Перейти на главную страницу

Как мне настроить nginx для приема запросов gzip?

Я знаю что ты можешь использовать nginx HttpGzipModule сжать ответы. Можете ли вы также использовать его, чтобы позволить nginx обрабатывать сжатие gzip Запросы, то есть с заголовком запроса: Content-Encoding: gzip ?

Примечание: Apache с помощью mod_deflate может обрабатывать сжатые с помощью gzip запросы с помощью директивы SetInputFilter DEFLATE.

Связанный

http://forum.nginx.org/read.php?11,96472,214266

Я только что попробовал это на сервере nginx, который у меня есть перед серверной частью Apache.

curl -H "Content-Encoding: gzip" --include -d @testfile.gz http://example.com/upload_file.php

curl добавлен автоматически:

Expect: 100-continue

к заголовкам запроса.

nginx отправил обратно

HTTP/1.1 100 Continue

response и curl с последующей отправкой сжатых данных. nginx передал все обратно в Apache, все еще сжатый и с Content-Encoding: заголовок цел.

Если бы я не добавил Content-Encoding: gzip заголовок с curl, я не получил ответа HTTP 100, но все остальное было таким же.

Это еще не ответ на ваш вопрос, но подразумевает, что nginx либо не обрабатывает это по умолчанию, либо не распаковывает тело запроса при проксировании. Меня интересует ответ на этот вопрос, поэтому я посмотрю, смогу ли я опробовать его на сервере nginx без прокси чуть позже.

Предположительно, вы могли бы решить проблему с пропускной способностью, проксируя эти запросы на бэкэнд Apache с помощью mod_deflate, но это игнорирует причину, по которой вы изначально выбрали nginx.

Только что нашел эту статью: Как заставить Nginx распаковать gzip-запрос

Выглядит неплохо, но я еще не пробовал. Надеюсь, поможет.

Я нашел хорошие шаги в цифровом океане для Ubuntu 14.04

Это хорошо