Skip to main content

Включаємо підтримку http2 на сервері з nginx і Debian



HTTP / 2 - це друга версія мережевого протоколу http, що включає в себе безліч різних поліпшень. У їх числі мультиплексування запитів (всі запити можуть бути оброблені паралельно), збільшення продуктивності, стиснення заголовків і т.д.

HTTP / 2 прийшов на зміну SPDY, розробка якого припинена.



Nginx підтримує протокол http / 2, починаючи з версії 1.9.5. Однак, в стабільному випуску Debian Jessie присутній тільки версія 1.6.2. Тому підключимо репозиторій backports , щоб оновити nginx до 1.9.10.

Перед оновленням необхідно дізнатися, які саме пакети nginx встановлені в системі (а їх кілька). Дивимося висновок команди:

  # Dpkg -l |  grep nginx 

У мене на сервері він такий:


  root @ ok.kr.ua: ~ # dpkg -l |  grep nginx
 ii nginx-common 1.6.2-5 + deb8u1 all small, powerful, scalable web / proxy server - common files
 ii nginx-extras 1.6.2-5 + deb8u1 i386 nginx web / proxy server (extended version) 

Значить, мені слід оновити ці пакети. Що я і зробив.

  # Aptitude install nginx-common nginx-extras openssl -t jessie-backports 

Тут після ключа -t вказуємо репозиторій jessie-backports.

OpenSSL версії 1.0.2 ми встановлюємо для підтримки ALPN.



Включаємо http / 2 для віртуального хоста

У файлі конфігурації всіх ваших сайтів, що підтримують ssl, (якщо ви використовуєте роздільні файли для віртуальних хостів в папці / etc / nginx / sites-enabled) або ж в головному файлі конфігурації /etc/nginx/nginx.conf знаходимо параметр listen.

Зазвичай, цей параметр виглядає так:

  listen 443 ssl; 

Якщо включений spdy, то так:

  listen 443 ssl spdy; 

У першому випадку потрібно просто додати після ssl параметр http2. У другому - замінити spdy на http2. У результаті повинно вийти це:

  listen 443 ssl http2; 

Параметр ssl_prefer_server_ciphers наводимо до значення off .

Або ж привести список доступних шифрів до відповідності з чорним списком RFC 7540, Appendix A .

  ssl_ciphers EECDH: EDH:! 3DES:! DES:! DSS:! SEED:! CAMELLIA:! NULL:! RC4:! SHA; 

Після всіх внесених змін слід протестувати конфігурацію командою nginx -t .

У разі успішного тестування, перезапускаємо nginx і йдемо на ssllabs.com тестувати сервер. Також можна скористатися доповненням SPDY indicator для Firefox .



Як ви оціните статтю?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оцінок, середнє: 5,00 з 5)
Завантаження ...

Додати коментар

Ваш e-mail не буде опублікований.