Luba HTTP/2 Nginxis Ubuntu 16.04-s

HTTP/2 on nüüdseks aegunud HTTP/1.1 protokolli uus versioon, mis standarditi juba 1999. aastal. Sellest ajast on veebis palju muutunud. Meie rakendused on keerulisemad kui tagasi, nii et sellega toimetulemiseks oli vaja muuta aluseks olevat transpordiprotokolli. HTTP/2 juures onkõige olulisem see,et see muudab teie veebilehe lõppkasutajate jaoks kiiremaks.

Lühidalt, HTTP/2 lisab 5 põhifunktsiooni:

  • Üksik, püsiv ühendus
  • Multipleksimine
  • Päise tihendamine
  • Ressursside prioritiseerimine
  • Turvab transpordikihti (kehtib ainult brauserite jaoks)

Kõigi nende funktsioonide selgitamine ei kuulu selle õpetuse raamesse, kuid kui soovite sellesse teemasse süveneda, võin soovitada väljavõtet raamatust High Performance Browser Networking – HTTP/2 väljavõte .

Selles juhendis installime Nginxi uusima stabiilse versiooni Ubuntu 16.04-le (Xenial), genereerime iseallkirjastatud SSL-sertifikaadi, lubame Nginxis HTTP/2- protokolli ja installime tekstipõhise brauseri, elinkset toimida HTTP-kliendina.

Installige Nginx

Nginxi uusima stabiilse versiooni installimiseks peame väljastama üsna mitu käsku:

  1. Peame alla laadima pakettide ja hoidlate allkirjastamiseks kasutatava Nginxi avaliku PGP-võtme ja lisama selle võtmerõngasse, mida paketihaldur kasutab hoidlast allalaaditud pakettide autentsuse kontrollimiseks.

    wget https://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key
    
  2. Kustutage PGP-võti failisüsteemist:

    rm nginx_signing.key
    
  3. Lisa uus hoidla

    printf "deb http://nginx.org/packages/ubuntu/ xenial nginx \ndeb-src http://nginx.org/packages/ubuntu/ xenial nginx \n" >> /etc/apt/sources.list.d/nginx.list
    
  4. Värskendage oma pakettide loendit ja installige Nginx:

    apt update && apt install nginx -y
    
  5. Nginxi versiooni kontrollimiseks saame kasutada järgmist:

    nginx -v 
    # nginx version: nginx/1.10.1
    

    Kui kõik läheb hästi, peaksite käsu 1.10.xkäivitamisel nägema väljundis sarnast mustrit nginx -v.

Iseallkirjastatud sertifikaat ja HTTP/2

Although HTTP/2 spec doesn’t force browsers to implement HTTP/2 over TLS, all major browsers decided to only implement HTTP/2 over TLS, but not any TLS version, only TLS 1.2 or higher.

Loome väljamõeldud example.comdomeeni jaoks iseallkirjastatud sertifikaadid, tootmiseks on vaja kehtivat domeeni ja kasutada usaldusväärset CA-d.

  1. Genereeri privaatvõti:

    openssl genrsa -aes128 -out example.com.key 2048
    

    Pärast selle käsu käivitamist peate sisestama parooli kaks korda. Kuna paroolid on tüütud, eemaldame selle.

  2. Eemalda privaatvõtmest parool:

    openssl rsa -in example.com.key -out example.com.key
    
  3. Looge sertifikaadi allkirjastamise taotlus (CSR):

    openssl req -new -sha256 -key example.com.key -out cert-request.csr 
    

    We are creating single-domain certificate so we need to set common-name field equal to example.com domain

  4. Loo sertifikaat:

    openssl x509 -req -days 365 -in cert-request.csr -signkey example.com.key -out example.com.crt
    
  5. Sorteerige sertifikaat ja privaatvõti:

    mkdir -p /etc/ssl/testing/private && mkdir /etc/ssl/testing/certs
    mv example.com.key /etc/ssl/testing/private && mv example.com.crt /etc/ssl/testing/certs
    
  6. Looge nginxi virtuaalse hosti kataloogid

    mkdir /etc/nginx/sites-available && mkdir /etc/nginx/sites-enabled
    
  7. Seejärel käivitage nano /etc/nginx/nginx.confja leidke käsk include /etc/nginx/conf.d/*.conf;. Selle direktiivi alla lisage include /etc/nginx/sites-enabled/*;Salvesta ( CTRL + O ) ja seejärel väljuge ( CTRL + X ).

    ##
    # Virtual Hosts
    ##
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    
  8. Looge selle käsuga fail nimega kataloogi example.com.confsees ja kopeerige/kleepige järgmine kood:/etc/nginx/sites-availablenano /etc/nginx/sites-available/example.com.conf

    server {
        listen 80;
        listen [::]:80;
        server_name example.com;
        return 301 https://$host$request_uri;
    }
    server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name example.com;
        root /var/www/html;
        index index.nginx-debian.html;
    
        ssl_certificate /etc/ssl/testing/certs/example.com.crt;
        ssl_certificate_key /etc/ssl/testing/private/example.com.key;
    
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
        ssl_prefer_server_ciphers on;
    }
    

    Õnnitleme, teil on nüüd HTTP/2 toega veebiserver. http2Parameetri lisamine listenHTTPS-i virtuaalse hosti direktiivile annab teile HTTP/2 toe.

  9. Looge sümboolne link /etc/nginx/sites-available/example.com.confselle käsuga:

    ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled
    
  10. Testi konfiguratsiooni süntaksit

    nginx -t
    
  11. Muudatuste rakendamiseks taaskäivitage Nginx:

    systemctl restart nginx
    
  12. Lisa faili example.comdomeen/etc/hosts

    echo '127.0.0.1    example.com' >> /etc/hosts
    

Sinu virtuaalse hosti testimiseks vajame tekstipõhist brauserit – elinks.

  1. Elinksi installimiseks kasutage järgmist käsku:

    apt install elinks
    
  2. example.comVirtuaalse hosti käitamise testimiseks tehke järgmist.

    elinks https://example.com
    
  3. Elinksi brauserist väljumiseks vajutage klaviatuuril q ja seejärel sisestusklahvi .

Testige HTTP/2

Et näha, milliseid protokolle server reklaamib, on kõige lihtsam kasutada openssltööriistakomplekti.

    openssl s_client -connect example.com:443 -nextprotoneg ''

Selle käsu väljundis peaksite nägema midagi sellist:

    CONNECTED(00000003)
    Protocols advertised by server: h2, http/1.1      

HTTP/2 toimimise nägemiseks võite kasutada brauseri arendaja tööriistu. HTTP/2 protokoll on tähistatud kas h2või HTTP/2.0identifikaatoritega. Avage dev-toolsis võrgupaneel ja värskendage oma lehte.

Järeldus

Nüüd peaksite olema teadlik sellest, kui "lihtne" on HTTP/2 lubamine Nginxi konfiguratsioonis, kuid see ei ole kogu pildi osa. Kõigepealt peaksite mõtlema TLS/SSL-i lubamisele oma serveris tugevate šifrikomplektidega ja veenduma, et te ei kasutaks musta nimekirja kantud šifreid . Alles pärast tugeva TLS/SSL-i lubamist oma serveris võite hakata mõtlema HTTP/2 lubamisele .

Linuxi juhendid, süsteemiadministraator, Ubuntu, veebiserverid

Jäta kommentaar

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit