Nginx je webový server s otevřeným zdrojovým kódem, který si získal srdce mnoha správců a vývojářů díky svému efektivnímu výkonu, nízké spotřebě paměti a výkonné podpoře různých protokolů. Dnes si povíme něco o konfiguraci podpory HTTP/2 v systému Nginx.

HTTP/2 je vývoj protokolu HTTP, který zlepšuje přenos dat mezi serverem a uživatelem. Nahrazuje protokol HTTP 1.1, který omezoval počet současných připojení, a proto zpomaloval načítání náročných stránek. HTTP/2 tento problém řeší tím, že umožňuje paralelní načítání dat a kompresi hlaviček HTTP.

Proč je přechod na HTTP/2 důležitý?

Přechod na protokol HTTP/2 nejen u rychluje načítání webových stránek, ale také zvyšuje bezpečnost přenosu dat. Všechny moderní prohlížeče vyžadují, aby webové stránky používaly protokol HTTPS podporující protokol HTTP/2, který zvyšuje bezpečnost přenosu dat mezi serverem a návštěvníky.

Proces přechodu na HTTP/2

Než začnete nastavovat HTTP/2 , musíte mít nainstalovaný server s Ubuntu 18.04 a Nginx. Na server musí být také nasměrován název vaší domény a pro tuto doménu musí být nainstalován certifikát SSL (například Let’s Encrypt).

1. Nastavení serveru

Otevřete konfigurační soubor domény:

vim /etc/nginx/sites-available/your_domain

Přidání podpory HTTP/2 pro připojení IPv6 a IPv4:

listen [::]:443 ssl hp2 ipv6only=on;
listen 443 ssl http2;

Uložte změny a zkontrolujte syntaxi:

nginx -t

2. Zlepšená bezpečnost

Chcete-li zvýšit zabezpečení, vyloučte nezabezpečené šifry. V konfiguračním souboru domény změňte volbu ssl_ciphers:

ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

Zkontrolujte syntaxi a restartujte server:

nginx -t
systemctl restart nginx.service

3. Přidání protokolu HTTP Strict Transport Security (HSTS)

Pro ještě větší zabezpečení přidejte do konfiguračního souboru Nginx hlavičku HTTP Strict Transport Security. Tato hlavička zajistí, že prohlížeče budou používat pouze připojení HTTPS.

V konfiguračním souboru Nginx:

add_header Strict-Transport-Security "max-age=15768000; includeSubDomains" vždy;

Zkontrolujte syntaxi a restartujte server.

4. Kontrola správného fungování protokolu HTTP/2.

Protokol HTTP/2 můžete otestovat pomocí příkazu curl:

curl -I -L https://ваш_домен

V odpovědi serveru musí být uvedeno HTTP/2.

Podporu HTTP/2 můžete zkontrolovat také pomocí prohlížeče Google Chrome a nástrojů pro vývojáře.

Nyní je váš web připraven na práci s HTTP/2 – rychlejší a bezpečnější verzí protokolu HTTP 🚀.

Nezapomeňte svůj server vždy aktualizovat a zabezpečit. Hodně štěstí!!!!

Přečtěte si také:

Otázky a odpovědi

Jaké jsou výhody používání protokolu HTTP/2 oproti protokolu HTTP/1.1?

Protokol HTTP/2 nabízí řadu výhod, včetně vyššího výkonu díky funkcím, jako je multiplexování a komprese hlaviček, vyššího zabezpečení díky vestavěnému šifrování a lepší podpory moderních webových technologií.

Musím při konfiguraci podpory HTTP/2 povolit SSL/TLS?

Ano, povolení SSL/TLS je při konfiguraci podpory HTTP/2 nezbytné pro zajištění bezpečné komunikace mezi klienty a serverem. Šifrování SSL/TLS chrání citlivá data před zachycením a neoprávněným přístupem.

Mohu nakonfigurovat podporu HTTP/2 ve starších verzích Ubuntu?

I když je technicky možné nakonfigurovat podporu HTTP/2 ve starších verzích Ubuntu, například 16.04, doporučujeme pro optimální kompatibilitu a podporu používat Ubuntu 18.04 nebo novější.

Jak zjistím, zda je na mém serveru Nginx povolena podpora HTTP/2?

Zda je na serveru Nginx povolen protokol HTTP/2, můžete zkontrolovat pomocí nástrojů, jako je curl nebo online služby pro testování protokolu HTTP/2. Případně můžete prozkoumat protokoly serveru Nginx, abyste získali představu o verzi protokolu používaného klientskými připojeními.

Vyžaduje zapnutí podpory HTTP/2 další prostředky serveru?

Povolení podpory HTTP/2 může vyžadovat o něco více serverových prostředků než HTTP/1.1 kvůli větší složitosti protokolu. Přínosy pro výkon však obvykle převáží nad minimálními nároky na zdroje.

Mohu se po konfiguraci podpory HTTP/2 v případě potřeby vrátit k protokolu HTTP/1.1?

Ano, v případě potřeby se můžete vrátit k protokolu HTTP/1.1 změnou nastavení konfigurace Nginx. Doporučujeme však, abyste před provedením jakýchkoli změn důkladně otestovali kompatibilitu a výkon svých webových stránek.

O autorovi

Andrii Kostashchuk

Andrii má zkušenosti s programováním v různých jazycích pro různé platformy a systémy. Více než osm let se pohybuje v oblasti internetu a pracuje s různými CMS, jako jsou např: Opencart, Drupal, Joomla a samozřejmě s nejoblíbenějším systémem pro správu obsahu WordPress.

Zobrazit všechny články