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 @ amigoplus.ru: ~ # 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 не будзе апублікаваны.