Ukážeme vám, jak nastavit Nginx s podporou HTTP/2 na Debianu 9. HTTP/2 je hlavní revize síťového protokolu HTTP a nabízí mnoho výhod. Povolení HTTP/2 na Nginx běžícím na serveru Debian 9 je docela snadný úkol, pokud budete pečlivě postupovat podle níže uvedeného návodu. Začněme!
Co je HTTP/2?
HTTP/2 je hlavní revize síťového protokolu HTTP. Je odvozen z experimentálního protokolu SPDY vyvinutého společností Google. Primárním cílem HTTP/2 je snížit latenci, minimalizovat režii protokolu a přidat podporu pro prioritizaci požadavků. Díky tomu se webové aplikace načítají mnohem rychleji.
Syntaxe na vysoké úrovni, jako jsou stavové kódy, metody, pole hlaviček, URI atd., jsou stejné jako u dřívější verze HTTP s tím rozdílem, že existuje rozdíl v tom, jak jsou data sestavována a přenášena mezi klientem a serverem.
Podpora HTTP/2 byla zavedena ve verzi Nginx 1.9.5 a je dostupná ve všech novějších verzích. Pokud používáte Debian 9 jako operační systém, neměli byste si dělat starosti, zda můžete používat HTTP/2 s Nginx nebo ne. Verze Nginx, která je součástí výchozího úložiště Debian 9, je vyšší než 1.9.5, takže bude zahrnuta podpora HTTP/2.
Chcete-li zkontrolovat verzi Nginx nainstalovanou na vašem Debian VPS, připojte se k serveru přes SSH a spusťte následující příkaz:
nginx -v
Výstup by měl být podobný následujícímu:
# nginx -v nginx version: nginx/1.10.3
Pokud získáte něco jako následující:
# nginx -v -bash: /usr/sbin/nginx: No such file or directory
To znamená, že Nginx není nainstalován na vašem Linux VPS a musíte jej nejprve nainstalovat. Spusťte následující příkazy pro instalaci Nginx:
apt-get update apt-get install nginx
Po dokončení instalace spusťte výše uvedený příkaz a ověřte, zda je nainstalován Nginx a zda podporuje HTTP/2.
Nastavte Nginx s podporou HTTP/2 na Debianu 9
HTTP/2 nevyžaduje šifrování. V současnosti však žádný prohlížeč nepodporuje nešifrované HTTP/2, takže před pokračováním v dalších krocích v tomto tutoriálu musíte mít platný certifikát SSL pro vaši doménu.
Chcete-li povolit HTTP/2 v Nginx, otevřete výchozí blok serveru Nginx pomocí textového editoru podle vašeho výběru.
nano /etc/nginx/sites-available/default
Poté přidejte následující řádky:
server { listen 443 ssl http2 default_server; server_name domain.com www.domain.com; root /var/www/html; index index.html; location / { try_files $uri $uri/ =404; } ssl_certificate /etc/nginx/ssl/domain.com.crt; ssl_certificate_key /etc/nginx/ssl/domain.com.key; } server { listen 80; server_name domain.com www.domain.com; return 301 https://$server_name$request_uri; }
Jako server_name
použijte název své domény , umístění dat vašeho webu pro root
a cestu k vašemu certifikátu SSL a soukromému klíči pro ssl_certificate
a ssl_certificate_key
.
Jakmile budete hotovi, uložte soubor a zavřete jej. Zkontrolujte, zda jsou v konfiguraci Nginx chyby syntaxe pomocí příkazu níže:
nginx -t
Pokud je s konfigurací vše v pořádku, výstup by měl být podobný tomu níže:
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
V opačném případě budou chyby uvedeny ve výstupu, takže snadno zjistíte, v čem je problém.
Jakmile si budete jisti, že s konfigurací v Nginx nejsou žádné problémy, můžete službu restartovat pomocí následujícího příkazu:
systemctl restart nginx.service
Jedna věc, kterou zde můžeme zlepšit, je zabezpečení výměny klíčů. Nginx ve výchozím nastavení používá 1028bitový klíč Diffie-Hellman a můžeme vygenerovat nový, bezpečnější. Chcete-li vygenerovat nový klíč Diffie-Hellman, spusťte následující příkaz:
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
Dokončení procesu bude trvat několik minut. Jakmile je klíč vygenerován, otevřete výchozí blok serveru Nginx a přidejte následující řádek pod ssl_certificate_key
:
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
Poté restartujte Nginx, aby se změny projevily.
Pokud chcete nastavit Nginx s podporou HTTP/2 pro jiný název domény, můžete se řídit naším návodem, jak nastavit bloky serveru v Nginx.
Pokud jako operační systém používáte Ubuntu 16.04 nebo CentOS 7, můžete se také podívat na náš návod, jak povolit HTTP/2 v Nginx na Ubuntu nebo CentOS.
Ověřte, že Nginx podporuje HTTP/2
Chcete-li zkontrolovat, zda je v Nginx povolen HTTP/2, můžete použít náš online nástroj pro kontrolu HTTP/2.
Samozřejmě nemusíte nastavovat Nginx s podporou HTTP/2 na Debianu 9, pokud používáte jedno z našich HTTP/2 optimalizovaných hostingových řešení, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby Nginx nastavili pomocí Podpora HTTP/2 na Debianu 9 pro vás. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.
PS. Pokud se vám tento příspěvek o tom, jak nastavit Nginx s podporou HTTP/2 na Debianu 9, líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.