Я запускаю nginx с SSL на Ubuntu 10.04LTS. Когда я проверяю сертификат, Chrome выдает мне раздражающее предупреждение:
The connection is not compressed.
В ответе похоже, что он отправляется в сжатом виде:
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Date:Sun, 12 Feb 2012 09:00:38 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Pragma:no-cache
Server:nginx/1.0.5
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Powered-By:PHP/5.3.6-13ubuntu3.3`
Поскольку этот вопрос был задан, была обнаружена серьезная уязвимость системы безопасности (атака BEAST), из-за которой возможно скомпрометировать сеанс SSL / TLS, если сеанс SSL / TLS сжат. Чтобы смягчить это, и серверы, и браузеры начинают отключать сжатие; вместо этого вам нужно будет использовать HTTP-сжатие, и то очень экономно, если вообще, чтобы уменьшить еще одну уязвимость (атака CRIME).
The connection is not compressed.
относится к сжатию ssl, а не gzip. Поскольку вы отвечаете gzip-compressed, нет необходимости включать сжатие на уровне ssl.
Смотрите также: http://www.belshe.com/2010/11/18/ssl-compression-and-you/
Сжатие SSL намеренно отключен в Nginx. Видимо для экономии памяти. Это может иметь смысл, поскольку Chrome - единственный известный мне браузер, поддерживающий сжатие SSL.
Я использую Apache специально для этой функции, так как сжатие SSL значительно экономит полосу пропускания за счет сжатия всего двустороннего потока, а не только тела ответа. В моем приложении (веб-клиент ERP) сжатый поток SSL использует примерно на 30-50% меньше пропускной способности, чем сжатие http. Таким образом, можно сэкономить много трафика, просто попросив пользователей использовать Chrome.
Если вы хотите перейти на Apache, отметьте мой вопрос для получения информации об отключении сжатия http для повышения производительности.