Bii o ṣe le Ṣiṣe HTTP/2.0 ni Nginx


HTTP/2 jẹ boṣewa tuntun fun ilana HTTP, o jẹ arọpo ti HTTP/1.1. O ti n di olokiki siwaju si nitori awọn anfani ti o mu wa si awọn oludasilẹ wẹẹbu ati awọn olumulo ni apapọ. O pese irinna iṣapeye fun awọn itumọ ọrọ HTTP nipasẹ atilẹyin gbogbo awọn ẹya ara ẹrọ ti HTTP/1.1 ṣugbọn ni ero lati munadoko diẹ ni awọn ọna pupọ.

Awọn ẹya pupọ lo wa lori HTTP/2 ti o fun ọ ni awọn aye diẹ sii lati mu aaye oju opo wẹẹbu/ohun elo pọ si. O nfunni ni ilọpopọ otitọ ati ni idaniloju, funmorawon akọsori ti o dara julọ (aiṣedede alakomeji), iṣajuju ti o dara julọ, awọn ilana iṣakoso ṣiṣan ti o dara julọ, ati ipo ibaraenisepo tuntun ti a pe ni\"titari olupin” ti o jẹ ki olupin kan le Titari awọn idahun si alabara kan. Laisi darukọ, HTTP/2 da lori ilana SPDY adanwo ti Google.

Nitorinaa, idojukọ akọkọ ti HTTP/2 ni lati dinku akoko ikojọpọ oju-iwe wẹẹbu gbogbogbo, nitorinaa imudarasi iṣẹ. O tun fojusi lori nẹtiwọọki ati lilo ohun elo olupin bii aabo nitori, pẹlu HTTP/2, fifi ẹnọ kọ nkan SSL/TLS jẹ dandan.

Ninu nkan yii, iwọ yoo kọ bi o ṣe le mu Nginx ṣiṣẹ pẹlu atilẹyin HTTP/2 ni awọn olupin Linux.

  • Fifi sori ẹrọ iṣẹ ti ẹya NGINX 1.9.5 tabi ga julọ, ti a ṣe pẹlu module ngx_http_v2_module.
  • Rii daju pe aaye rẹ nlo ijẹrisi SSL/TLS, ti o ko ba ni ọkan, o le gba lati ijẹrisi ti a fowo si ti ara ẹni.

O le fi NGINX sori ẹrọ tabi fi ranṣẹ pẹlu akopọ LEMP bi a ti ṣalaye ninu awọn itọsọna atẹle:

  • Bii o ṣe le Fi Nginx sori CentOS 8
  • Bii o ṣe le Fi Server LEMP sori CentOS 8
  • Bii a ṣe le Fi NGINX, MySQL/MariaDB ati PHP sori RHEL 8 Bii a ṣe le fi sori ẹrọ LEMP Stack pẹlu PhpMyAdmin ni Ubuntu 20.04
  • Fi Nginx sii pẹlu Awọn ohun amorindun Server (Awọn ile-iṣẹ foju) lori Debian 10
  • Bii a ṣe le lo Nginx bi Balancer Fifuye HTTP ni Linux

Bii o ṣe le Ṣiṣe HTTP/2.0 ni NGINX

Ti o ba ti fi sii NGINX, rii daju pe o ti kọ pẹlu module ngx_http_v2_module nipa ṣiṣe pipaṣẹ atẹle.

# strings /usr/sbin/nginx | grep _module | grep -v configure| sort | grep ngx_http_v2_module

Ni kete ti o ba ni oju opo wẹẹbu/ohun elo ti NGINX ṣiṣẹ pẹlu HTTPS ti tunto, ṣii faili oju opo wẹẹbu olupin foju rẹ (tabi olugbalejo foju) fun ṣiṣatunkọ.

# vi /etc/nginx/conf.d/example.com.conf                    [On CentOS/RHEL]
$ sudo nano /etc/nginx/sites-available/example.com.conf    [On Ubuntu/Debian]

O le mu atilẹyin HTTP/2 ṣiṣẹ nipa fifi fifi kun http2 paramita si gbogbo tẹtisi awọn itọsọna bi o ṣe han ninu sikirinifoto atẹle.

listen 443 ssl http2;

Iṣeto ni bulọọki olupin apẹẹrẹ dabi ni isalẹ.

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    
}

Fipamọ awọn ayipada ninu faili ki o pa a.

Lẹhinna ṣayẹwo iṣapẹẹrẹ iṣeto NGINX, ti o ba dara, tun bẹrẹ iṣẹ Nginx.

# nginx -t
# systemctl restart nginx

Nigbamii, ṣii ẹrọ aṣawakiri wẹẹbu kan lati ṣayẹwo boya oju opo wẹẹbu rẹ n ṣiṣẹ lori HTTP/2.

http://www.example.com

Lati wọle si awọn akọle HTTP, tẹ-ọtun lori oju-iwe wẹẹbu ti o han, yan Ṣayẹwo lati inu atokọ awọn aṣayan lati ṣii awọn irinṣẹ idagbasoke, lẹhinna tẹ taabu Nẹtiwọọki, ki o tun gbe oju-iwe naa pada.

Ṣayẹwo labẹ Awọn Ilana lati wo eyi ti aaye rẹ nlo (ti o ko ba ri akọle Awọn ilana, tẹ-ọtun lori eyikeyi awọn akọle fun apẹẹrẹ Orukọ, lẹhinna ṣayẹwo Ilana lati inu atokọ lati han bi akọle).

Ti aaye rẹ ba nṣiṣẹ lori HTTP/1.1, labẹ Ilana, iwọ yoo wo http/1.1 bi o ṣe han ninu sikirinifoto atẹle.

Ti o ba n ṣiṣẹ lori HTTP/2, labẹ Ilana, iwọ yoo wo h2 bi o ṣe han ninu sikirinifoto atẹle. O le fẹ lati mu kaṣe aṣawakiri kuro lati wo akoonu tuntun ti a n ṣiṣẹ taara lati ọdọ webserver.

Gbogbo ẹ niyẹn! Fun alaye diẹ sii, wo iwe modulu ngx_http_v2_module. Ma ṣe ṣiyemeji lati beere awọn ibeere nipasẹ fọọmu esi ni isalẹ.