A HTTP/2.0 engedélyezése az Nginxben
A HTTP/2 a HTTP protokoll legújabb szabványa, a HTTP/1.1 utódja. Egyre népszerűbb a webfejlesztők és általában a felhasználók számára nyújtott előnyök miatt. Optimalizált átvitelt biztosít a HTTP szemantikához, mivel támogatja a HTTP/1.1 összes alapvető funkcióját, de több szempontból is hatékonyabbá kíván tenni.
A HTTP/2 mellett számos olyan funkció található, amelyek több lehetőséget kínálnak a webhelyek/alkalmazások optimalizálására. Valódi multiplexelést és párhuzamosságot, jobb fejléctömörítést (bináris kódolás), jobb prioritást, jobb áramlásszabályozási mechanizmusokat és egy új interakciós módot kínál, az úgynevezett „szerver push”, amely lehetővé teszi a szerver számára, hogy válaszokat küldjön az ügyfélnek. . Arról nem is beszélve, hogy a HTTP/2 a Google kísérleti SPDY protokollján alapul.
Ezért a HTTP/2 elsődleges célja a weboldal teljes betöltési idejének csökkentése, ezáltal a teljesítmény javítása. A hálózati és kiszolgálói erőforrás-használatra, valamint a biztonságra is összpontosít, mivel HTTP/2 esetén az SSL/TLS titkosítás kötelező.
Ebből a cikkből megtudhatja, hogyan engedélyezheti az Nginxet a HTTP/2 támogatással Linux-kiszolgálókon.
Előfeltételek:
- Az NGINX 1.9.5 vagy újabb verzió működőképes telepítése, az ngx_http_v2_module modullal.
- Győződjön meg arról, hogy webhelye SSL/TLS-tanúsítványt használ, ha nem rendelkezik ilyennel, beszerezheti a Let's Encrypt-től, vagy használhat önaláírt tanúsítványt.
Telepítheti az NGINX-et, vagy telepítheti LEMP verem segítségével a következő útmutatókban leírtak szerint:
- Az Nginx telepítése a CentOS 8 rendszeren
- A LEMP szerver telepítése CentOS 8 rendszeren
- Az NGINX, MySQL/MariaDB és PHP telepítése RHEL 8-ra
- A LEMP Stack telepítése a PhpMyAdmin segítségével az Ubuntu 20.04-ben
- Telepítse az Nginxet kiszolgálóblokkokkal (virtuális gazdagépekkel) a Debian 10 rendszeren
- Az Nginx használata HTTP terheléselosztóként Linux alatt
A HTTP/2.0 engedélyezése az NGINX-ben
Ha telepítve van az NGINX, ellenőrizze, hogy az ngx_http_v2_module
modullal készült-e a következő parancs futtatásával.
strings /usr/sbin/nginx | grep _module | grep -v configure| sort | grep ngx_http_v2_module
Miután egy webhelyet/alkalmazást az NGINX és HTTPS konfigurált, nyissa meg a webhely virtuális szerver blokk (vagy virtuális gazdagép) fájlját szerkesztés.
vi /etc/nginx/conf.d/example.com.conf [On CentOS/RHEL]
sudo nano /etc/nginx/sites-available/example.com.conf [On Ubuntu/Debian]
A HTTP/2 támogatást úgy engedélyezheti, hogy egyszerűen hozzáadja a http2
paramétert az összes listen
direktívához, ahogy az a következő képernyőképen látható.
listen 443 ssl http2;
A minta szerverblokk-konfiguráció az alábbiak szerint néz ki.
server {
server_name example.com www.example.com;
access_log /var/log/nginx/example.com_access.log;
error_log /var/log/nginx/example.com_error.log;
listen [::]:443 ssl ipv6only=on http2; # managed by Certbot
listen 443 ssl http2; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
Mentse el a változtatásokat a fájlban, és zárja be.
Ezután ellenőrizze az NGINX konfigurációs szintaxisát, ha rendben van, indítsa újra az Nginx szolgáltatást.
nginx -t
systemctl restart nginx
Ezután nyisson meg egy webböngészőt, és ellenőrizze, hogy webhelye kiszolgálása HTTP/2-n keresztül történik-e.
http://www.example.com
A HTTP-fejlécek eléréséhez kattintson a jobb gombbal a megjelenített weboldalra, válassza a Vizsgálat lehetőséget a lehetőségek listájából a fejlesztői eszközök megnyitásához, majd kattintson a Hálózat fülre, és töltse be újra. az oldal.
A Protokollok alatt ellenőrizze, hogy melyiket használja webhelye (ha nem látja a Protokollok fejlécet, kattintson jobb gombbal bármelyik fejlécre, pl. Név, majd jelölje be a < lehetőséget.Protokoll a listából, hogy fejlécként jelenítse meg).
Ha webhelye a HTTP/1.1 protokollon fut, a Protokoll alatt a következő képernyőképen látható módon a http/1.1 felirat látható.
Ha a HTTP/2 protokollon fut, a Protokoll alatt a h2
felirat látható, ahogy az a következő képernyőképen is látható. Érdemes lehet letiltani a böngésző gyorsítótárát, hogy megtekinthesse a közvetlenül a webszerverről kiszolgált legújabb tartalmat.
Ez minden! További információkért tekintse meg az ngx_http_v2_module modul dokumentációját. Ne habozzon kérdéseket feltenni az alábbi visszajelzési űrlapon keresztül.