GNU/Linux >> Znalost Linux >  >> Linux

Jak povolit HTTP/2 v Nginx

Hypertext Transfer Protocol verze 2 (HTTP/2 ) je nejnovější verze protokolu HTTP, publikovaná jako standard IETF v RFC 7540 v roce 2015. Protokol je zaměřen na výkon; konkrétně, koncovým uživatelem vnímaná latence, využití sítě a zdrojů serveru. Jedním z hlavních cílů je umožnit použití jediného připojení z prohlížečů k webové stránce. Protokol je zpětně kompatibilní, takže metody HTTP, stavové kódy a sémantika jsou stejné jako u předchozích verzí protokolu. Nginx má podporu HTTP/2 od verze 1.9.5. V tomto tutoriálu budu předpokládat, že již máte funkční konfiguraci TLS a že jste požadovali verzi Nginx nainstalovanou ve vaší vybrané distribuci Linuxu a že víte, jak používat Let's Encrypt, nebo víte, jak certifikát s vlastním podpisem.

Požadavky

Chcete-li povolit HTTP/2 v Nginx, budete muset splnit následující požadavky:

  • Nginx verze 1.9.5 nebo vyšší. Verzi Nginx můžete zkontrolovat spuštěním (nginx -v ) příkaz.
  • OpenSSL verze 1.0.2 nebo vyšší. Verzi OpenSSL můžete zkontrolovat spuštěním příkazu (verze OpenSSL).
  • Certifikát SSL/TLS od společnosti Let's Encrypt nebo certifikát s vlastním podpisem.
  • Povolen protokol TLS 1.2 nebo vyšší. Jinak nebudete moci používat HTTP/2. Implementace HTTP/2 musí používat TLS verze 1.2 nebo vyšší pro HTTP/2 přes TLS.

Povolit HTTP/2 v Nginx

Abychom povolili HTTP/2 v Nginx, musíme přidat http2 parametr k listen v našem virtuálním hostiteli:

listen 443 ssl http2;

A znovu načtěte konfiguraci Nginx:

sudo systemctl reload nginx.service

Zde je minimální konfigurace virtuálního serveru, kterou lze použít k povolení HTTP/2 v některých virtuálních hostitelích:

server {

listen 443 ssl http2;
listen [::]:443 ssl http2;

server_name example.com;
root /path/to/public;

ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;

ssl_protocols TLSv1.2;

}

Chcete-li zkontrolovat, zda váš server podporuje HTTP/2, můžete použít vývojářské nástroje prohlížeče nebo soubory protokolu Nginx. Níže je snímek obrazovky z prohlížeče Google Chrome, který ukazuje HTTP/2 v akci na doméně https://example.com.

Chcete-li zobrazit vyjednaný protokol, můžete také použít vloženou proměnnou Nginx $http2. Tato proměnná bude protokolovat:„h2 “ pro HTTP/2 přes TLS, „h2c ” pro HTTP/2 přes čistý text TCP nebo prázdný řetězec jinak v protokolu přístupu Nginx, pokud je k tomu nakonfigurován.

A to je vše k povolení HTTP/2 na vašem serveru Nginx.

  • RFC 7540
  • HTTP/2

Linux
  1. Jak povolit HTTP2 v NGINX

  2. Jak povolit HTTP/2 v Nginx na Ubuntu a CentOS

  3. Jak nastavit Nginx s podporou HTTP/2 na Debianu 9

  1. Jak přesměrovat HTTP na HTTPS v Nginx

  2. Jak povolit TLS 1.3 v Nginx

  3. Jak nakonfigurovat HTTP/2 v Nginx na Ubuntu 20.04

  1. Jak povolit protokol HTTP/2 s Apache na Ubuntu 20.04

  2. Jak povolit IPv6 v Nginx?

  3. Jak povolit kompresi GZIP v Nginx