Weboldal keresés

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.