Virkjaðu HTTP/2 í Nginx á Ubuntu 16.04

HTTP/2 er nýja útgáfan af nú úreltri HTTP/1.1 samskiptareglum sem var staðlað aftur árið 1999. Margt hefur breyst á vefnum síðan þá. Umsóknir okkar eru flóknari en þær voru áður, svo til að takast á við það var breyting á undirliggjandi flutningsreglum nauðsynleg. Það mikilvægasta við HTTP/2 er að það mun gera vefsíðuna þína hraðari fyrir endanotendur.

Í stuttu máli bætir HTTP/2 við 5 lykileiginleikum:

  • Einstök, viðvarandi tenging
  • Margföldun
  • Hausþjöppun
  • Forgangsröðun auðlinda
  • Tryggir flutningslag (gildir aðeins fyrir vafra)

Að útskýra alla þessa eiginleika er utan umfangs þessarar kennslu en ef þú vilt kafa dýpra í þetta efni get ég mælt með broti úr bókinni High Performance Browser Networking - HTTP/2 útdráttur .

Í þessari handbók ætlum við að setja upp nýjustu stöðugu útgáfuna af Nginx á Ubuntu 16.04 (Xenial), búa til sjálfundirritað SSL vottorð, virkja HTTP/2 samskiptareglur í Nginx og setja upp textabyggðan vafra elinkstil að starfa sem HTTP viðskiptavinur.

Settu upp Nginx

Til að setja upp nýjustu stöðugu útgáfuna af Nginx þurfum við að gefa út nokkrar skipanir:

  1. Við þurfum að hlaða niður Nginx almennings PGP lykil sem notaður er til að undirrita pakka og geymslur og bæta honum við lyklakippuna sem pakkastjórinn notar til að sannreyna áreiðanleika pakka sem hlaðið er niður úr geymslunni.

    wget https://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key
    
  2. Eyddu PGP lyklinum úr skráarkerfinu:

    rm nginx_signing.key
    
  3. Bæta við nýrri geymslu

    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. Uppfærðu pakkalistann þinn og settu upp Nginx:

    apt update && apt install nginx -y
    
  5. Til að staðfesta Nginx útgáfuna getum við notað eftirfarandi:

    nginx -v 
    # nginx version: nginx/1.10.1
    

    Ef allt gengur vel ættirðu að sjá mynstur eins og 1.10.xí úttakinu þegar þú keyrir nginx -vskipunina.

Sjálfundirritað vottorð og 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.

Við ætlum að búa til sjálf undirrituð vottorð fyrir skáldað example.comlén, til framleiðslu þarftu gilt lén og notar traust CA.

  1. Búa til einkalykil:

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

    Eftir að hafa keyrt þessa skipun þarftu að slá inn lykilorð 2 sinnum. Vegna þess að lykilorð eru pirrandi ætlum við að fjarlægja þær.

  2. Fjarlægðu aðgangsorð úr einkalykli:

    openssl rsa -in example.com.key -out example.com.key
    
  3. Búðu til vottorðsundirritunarbeiðni (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. Búa til vottorð:

    openssl x509 -req -days 365 -in cert-request.csr -signkey example.com.key -out example.com.crt
    
  5. Raða út vottorð og einkalykil:

    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. Búðu til nginx sýndargestgjafaskrár

    mkdir /etc/nginx/sites-available && mkdir /etc/nginx/sites-enabled
    
  7. Hlaupa síðan nano /etc/nginx/nginx.confog finndu tilskipun include /etc/nginx/conf.d/*.conf;. Fyrir neðan þessa tilskipun bætið við include /etc/nginx/sites-enabled/*;Save ( CTRL+O ) og hættið svo ( CTRL+X ).

    ##
    # Virtual Hosts
    ##
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    
  8. Búðu til skrá sem heitir example.com.confinni í /etc/nginx/sites-availablemöppu með þessari skipun nano /etc/nginx/sites-available/example.com.confog afritaðu / límdu eftirfarandi kóða:

    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;
    }
    

    Til hamingju, þú ert nú með HTTP/2 virkan vefþjón. Að bæta við http2færibreytu við listentilskipunina inni í HTTPS sýndarhýsingu mun veita þér HTTP/2 stuðning.

  9. Búðu til táknrænan hlekk fyrir /etc/nginx/sites-available/example.com.confmeð þessari skipun:

    ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled
    
  10. Próf stillingar setningafræði

    nginx -t
    
  11. Endurræstu Nginx til að beita breytingunum þínum:

    systemctl restart nginx
    
  12. Bættu example.comléni við /etc/hostsskrá

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

Til að prófa sýndargestgjafann þinn þurfum við textabyggðan vafra - elinks.

  1. Til að setja upp elinks notaðu eftirfarandi skipun:

    apt install elinks
    
  2. Til að prófa sýndarhýsinguna þína example.com:

    elinks https://example.com
    
  3. Til að fara út úr elinks vafranum ýtirðu á q á lyklaborðinu þínu og síðan á Enter .

Prófaðu HTTP/2

Til að sjá hvaða samskiptareglur miðlarinn auglýsir er auðveldasta leiðin að nota opensslverkfærasett.

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

Í úttakinu á þessari skipun ættirðu að sjá eitthvað á þessa leið:

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

Til að sjá HTTP/2 í aðgerð geturðu notað vafraforritaraverkfæri. HTTP/2 samskiptareglur eru tilgreindar annað hvort með h2eða HTTP/2.0auðkennum. Opnaðu netspjaldið í dev-tools og endurnýjaðu síðuna þína.

Niðurstaða

Nú ættir þú að vera meðvitaður um hversu "auðvelt" er að virkja HTTP/2 í Nginx stillingum, en það er ekki allur hluti heildarmyndarinnar. Fyrst ættir þú að hugsa um að virkja TLS/SSL á netþjóninum þínum með sterkum dulmálssvítum og ganga úr skugga um að þú sért ekki að nota dulmál á svörtum lista . Aðeins eftir að hafa virkjað sterkt TLS/SSL á netþjóninum þínum geturðu byrjað að hugsa um að virkja HTTP/2 .

Skildu eftir athugasemd

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira