Jak włączyć HTTP/2.0 w nginx

Jak włączyć HTTP/2.0 w nginx

HTTP/2 to najnowszy standard dla Http protokół, jest następcą HTTP/1.1. Staje się coraz bardziej popularny ze względu na korzyści, jakie przynosi programistom i ogólnie użytkownikom. Zapewnia zoptymalizowany transport do semantyki HTTP, wspierając wszystkie podstawowe cechy HTTP/1.1 ale ma na wiele wydajniejsze na wiele sposobów.

Na szczycie jest wiele funkcji HTTP/2 które dają więcej możliwości optymalizacji witryny/aplikacji. Oferuje prawdziwe multipleksowanie i współbieżność, lepszą kompresję nagłówka (kodowanie binarne), lepsze priorytetyzacja, lepsze mechanizmy kontroli przepływu i nowy tryb interakcji o nazwie „pchnięcie serwera”To umożliwia serwera przesuwanie odpowiedzi na klienta. Nie wspominając, HTTP/2 opiera się na eksperymentalnym Google SPDY protokół.

Dlatego główny cel HTTP/2 ma skrócić ogólny czas ładowania strony internetowej, a tym samym poprawić wydajność. Koncentruje się również na wykorzystaniu zasobów sieciowych i serwerów, a także na bezpieczeństwie, ponieważ z HTTP/2, SSL/TLS Szyfrowanie jest obowiązkowe.

W tym artykule dowiesz się, jak włączyć Nginx z HTTP/2 Wsparcie w serwerach Linux.

Wymagania wstępne:

  • Działająca instalacja Nginx wersja 1.9.5 lub wyższy, zbudowany z ngx_http_v2_module moduł.
  • Upewnij się, że Twoja witryna korzysta z certyfikatu SSL/TLS, jeśli go nie masz, możesz uzyskać od Let's Encrypt lub skorzystać z certyfikatu podpisanego na siebie.

Możesz zainstalować Nginx lub wdrożyć go za pomocą LEMP Ustaw zgodnie z opisem w następujących przewodnikach:

  • Jak zainstalować Nginx na CentOS 8
  • Jak zainstalować serwer LEMP na CentOS 8
  • Jak zainstalować Nginx, MySQL/Mariadb i PHP na RHEL 8
  • Jak zainstalować stos LEMP z phpMyAdmin w Ubuntu 20.04
  • Zainstaluj Nginx z blokami serwerów (wirtualne hosty) na Debian 10
  • Jak używać Nginx jako balansu obciążenia HTTP w Linux

Jak włączyć HTTP/2.0 w nginx

Jeśli masz zainstalowany nginx, sprawdź, czy został zbudowany z ngx_http_v2_module Moduł, uruchamiając następujące polecenie.

# strings/usr/sbin/nginx | GREP _Module | GREP -V konfiguruj | SORT | grep ngx_http_v2_module 
Sprawdź moduł Nginx HTTP/2

Po obsługiwaniu strony internetowej/aplikacji Nginx z Https skonfigurowane, otwórz witryny wirtualne blok serwera (lub Wirtualny host) Plik do edycji.

# vi/etc/nginx/conf.d/przykład.com.conf [na centos/rhel] $ sudo nano/etc/nginx/witryny-dostępny/przykład.com.Conf [on Ubuntu/Debian] 

Możesz włączyć obsługę HTTP/2, po prostu dodając HTTP2 parametr do wszystkich Słuchać dyrektywy, jak pokazano na poniższym zrzucie ekranu.

Posłuchaj 443 SSL HTTP2; 

Przykładowa konfiguracja bloku serwera wygląda jak poniżej.

przykład Server_name Przykład.com www.przykład.com; access_log/var/log/nginx/przykład.com_access.dziennik; error_log/var/log/nginx/przykład.com_error.dziennik; Posłuchaj [::]: 443 SSL ipv6only = on HTTP2; # Zarządzane przez certbot posłuchaj 443 SSL HTTP2; # Zarządzane przez certbot SSL_Certificate/Etc/LetsEncrypt/Live/Przykład.com/Fullchain.pem; # Zarządzane przez certbot SSL_Certificate_Key/Etc/Letsecrrypt/Live/Expt.com/privey.pem; # Zarządzane przez certbot obejmuje/etc/letsencrypt/options-ssl-nginx.conf; # Zarządzane przez certbot SSL_DHPARAM/etc/LetsEncrypt/SSL-Dhparams.pem; # Zarządzane przez certbot 
Włącz obsługę HTTP/2 w Nginx

Zapisz zmiany w pliku i zamknij.

Następnie sprawdź składnię konfiguracji Nginx, jeśli jest OK, uruchom ponownie usługę Nginx.

# nginx -t # Systemctl restart nginx 

Następnie otwórz przeglądarkę internetową, aby sprawdzić, czy Twoja witryna jest obsługiwana HTTP/2.

http: // www.przykład.com 

Aby uzyskać dostęp do nagłówków HTTP, kliknij prawym przyciskiem myszy na wyświetlanej stronie internetowej, wybierz Sprawdzać Z listy opcji otwierania narzędzi programistycznych, a następnie kliknij Sieć Tab i ponownie załaduj stronę.

Sprawdź poniżej Protokoły Aby zobaczyć tę witrynę (jeśli nie widzisz nagłówka protokołów, kliknij prawym przyciskiem myszy w żadnym z nagłówków E.G Nazwa, Następnie sprawdź Protokół z listy, aby wyświetlić go jako nagłówek).

Jeśli Twoja witryna działa HTTP/1.1, pod Protokół, zobaczysz HTTP/1.1 Jak pokazano na poniższym zrzucie ekranu.

Strona internetowa działająca na HTTP/1.1

Jeśli działa HTTP/2, pod Protokół, zobaczysz H2 Jak pokazano na poniższym zrzucie ekranu. Możesz wyłączyć pamięć podręczną przeglądarki, aby wyświetlić najnowsze treści obsługiwane bezpośrednio z serwisu internetowego.

Strona internetowa działająca na HTTP/2.0

To wszystko! Aby uzyskać więcej informacji, zobacz dokumentację modułu NGX_HTTP_V2_Module. Nie wahaj się zadawać pytań za pośrednictwem poniższego formularza opinii.