NGINX и HTTP/2: Настройка ALPN в Debian Jessie

Совсем недавно Google бросили поддержку NPN. Теперь можно использовать только ALPN. Увы, браузер Chrome очень популярен и имеет множество сборок, вроде Яндекс.Браузера. Поэтому просто кинуть их мы не можем. Придется заводить ALPN, чтобы HTTP/2 работал везде.

Несмотря на то, что Google дал отсрочку полгода, пока из серверных ОС далеко не все смогли завести его поддержку "из коробки". На данный момент этим похвастаться может, например, Ubuntu Server.

В контексте Debian всё не так радужно. Для поддержки ALPN нужен NGINX 1.9.5+, собранный с библиотекой OpenSSL 1.0.2h. Сам OpenSSL 1.0.2h завезли в jessie-backports буквально в конце июля. Однако NGINX пересобирать не стали. Его всё также собирают с 1.0.1t.

Я же постараюсь описать наиболее безопасный способ установки NGINX с поддержкой ALPN без пересборки исходников и затаскивания кучи зависимостей.

Приступим. Первым делом рекомендую удалить текущий NGINX из системы (разумеется конфиги остануться):

sudo apt-get remove nginx nginx-common

Читать Далее

NGINX и SSL: Получаем четыре сотни и А+ на SSLLabs.com

Собственно сразу перейдем к делу

Цель -- А+ на SSLLabs, а в идеале вообще все четыре результата по сто баллов. Оценка выводится на основе четырех шкал:

  1. Certificate
  2. Protocol Support
  3. Key Exchange
  4. Cipher Strength

Первый пункт, насколько мне известно, просто предполалагает наличие подлинного сертификата от известного CA.

Для второго пункта достаточно отключить все протоколы, кроме TLSv1.2. Другими словами пишем это:

ssl_protocols TLSv1.2;

Читать Далее