HTTP / 2 to druga wersja protokołu sieciowego http, która zawiera wiele różnych ulepszeń. Należą do nich żądania multipleksowania (wszystkie żądania mogą być przetwarzane równolegle), zwiększona wydajność, kompresja nagłówka itp.
Protokół HTTP / 2 zastąpił SPDY, który został wycofany.
Nginx obsługuje protokół http / 2, począwszy od wersji 1.9.5. Jednak stabilna wersja Debian Jessie zawiera tylko wersję 1.6.2. Dlatego połączymy repozytorium backportów, aby uaktualnić nginx do wersji 1.9.10.
Przed aktualizacją musisz wiedzieć, które pakiety nginx są zainstalowane w systemie (jest ich kilka). Zobacz dane wyjściowe polecenia:
# dpkg -l | grep nginx
Na moim serwerze wygląda to tak:
root @ x.kr.ua: ~ # dpkg -l | grep nginx ii nginx-common 1.6.2-5 + deb8u1 mały, wydajny, skalowalny serwer web / proxy - wspólne pliki ii nginx-dodatki 1.6.2-5 + deb8u1 i386 nginx web / serwer proxy (wersja rozszerzona)
Więc powinienem zaktualizować te pakiety. Co zrobiłem.
# aptitude install nginx-common nginx-extras openssl -t jessie-backports
W tym miejscu, po przełączniku -t , określ repozytorium jessie-backports.
OpenSSL w wersji 1.0.2 instalujemy, aby obsługiwać ALPN.
Włącz http / 2 dla wirtualnego hosta
W pliku konfiguracyjnym wszystkich witryn obsługujących ssl (jeśli korzystasz z oddzielnych plików dla hostów wirtualnych w folderze / etc / nginx / sites) lub w głównym pliku konfiguracyjnym /etc/nginx/nginx.conf, znajdujemy parametr listen .
Zwykle ten parametr wygląda następująco:
słuchaj 443 ssl;
Jeśli spsy jest włączone, wtedy:
słuchaj 443 ssl spdy;
W pierwszym przypadku wystarczy dodać po parametrze ssl http2. W drugim zamień spdy na http2. W końcu powinno to być:
słuchaj 443 ssl http2;
Parametr ssl_prefer_server_ciphers
off
.
Lub podaj listę dostępnych szyfrów, aby pasowały do czarnej listy RFC 7540, dodatek A.
ssl_ciphers EECDH: EDH :! 3DES:! DES:! DSS :! SEED :! CAMELLIA:! NULL:! RC4:! SHA;
Po wprowadzeniu wszystkich zmian należy przetestować konfigurację za pomocą komendy nginx -t
.
W przypadku udanego testowania, restartujemy nginx i przechodzimy do ssllabs.com, aby przetestować serwer. Możesz także użyć dodatku wskaźnika SPDY dla Firefoksa .