Engedélyezze a HTTP/2-t az Nginxben az Ubuntu 16.04-en

A HTTP/2 a mára elavult HTTP/1.1 protokoll új verziója, amelyet még 1999-ben szabványosítottak. Azóta sok minden megváltozott az interneten. Alkalmazásaink összetettebbek, mint korábban voltak, ezért ennek megbirkózása érdekében az alapul szolgáló szállítási protokoll módosítására volt szükség. A HTTP/2 legfontosabb dologaz, hogy gyorsabbá teszi a weboldalt a végfelhasználók számára.

Röviden a HTTP/2 5 kulcsfontosságú szolgáltatást ad hozzá :

  • Egyetlen, tartós kapcsolat
  • Multiplexelés
  • Fejléc tömörítés
  • Az erőforrások prioritása
  • Biztonságos szállítási réteg (csak böngészőkre érvényes)

Ezeknek a funkcióknak a magyarázata nem tartozik ennek az oktatóanyagnak a hatókörébe, de ha mélyebben szeretne ásni a témában, ajánlhatok egy részletet a High Performance Browser Networking könyvből – HTTP/2 kivonat .

Ebben az útmutatóban telepítjük az Nginx legújabb stabil verzióját az Ubuntu 16.04-re (Xenial), önaláírt SSL-tanúsítványt generálunk, engedélyezzük a HTTP/2 protokollt az Nginxben, és telepítjük a szöveges böngészőt elinks, hogy HTTP-kliensként működjön.

Telepítse az Nginx-et

Az Nginx legújabb stabil verziójának telepítéséhez jó néhány parancsot kell kiadnunk:

  1. Le kell töltenünk a csomagok és tárolók aláírására használt Nginx nyilvános PGP-kulcsot, és hozzá kell adnunk a csomagkezelő által használt kulcstartóhoz, hogy ellenőrizzük a tárolóból letöltött csomagok hitelességét.

    wget https://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key
    
  2. Törölje a PGP kulcsot a fájlrendszerből:

    rm nginx_signing.key
    
  3. Új tár hozzáadása

    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. Frissítse csomaglistáját és telepítse az Nginx-et:

    apt update && apt install nginx -y
    
  5. Az Nginx verziójának ellenőrzéséhez a következőket használhatjuk:

    nginx -v 
    # nginx version: nginx/1.10.1
    

    Ha minden jól megy 1.10.x, a nginx -vparancs futtatásakor olyan mintát kell látnia, mint a kimenetben .

Önaláírt tanúsítvány és 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.

Önaláírt tanúsítványokat fogunk létrehozni kitalált example.comdomainhez, a termeléshez érvényes domainre van szükség, és megbízható CA-t kell használnia.

  1. Privát kulcs generálása:

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

    A parancs futtatása után kétszer meg kell adnia a jelszót. Mivel a jelszavak bosszantóak, eltávolítjuk őket.

  2. Jelszó eltávolítása a privát kulcsból:

    openssl rsa -in example.com.key -out example.com.key
    
  3. Tanúsítvány-aláírási kérelem (CSR) generálása:

    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. Tanúsítvány létrehozása:

    openssl x509 -req -days 365 -in cert-request.csr -signkey example.com.key -out example.com.crt
    
  5. Tanúsítvány és privát kulcs rendezése:

    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. Készítsen nginx virtuális gazdagép-könyvtárakat

    mkdir /etc/nginx/sites-available && mkdir /etc/nginx/sites-enabled
    
  7. Ezután futtassa, nano /etc/nginx/nginx.confés keressen egy direktívát include /etc/nginx/conf.d/*.conf;. Ez a direktíva alatt adja hozzá a include /etc/nginx/sites-enabled/*;Mentés ( CTRL+O ) billentyűt , majd lépjen ki ( CTRL+X ).

    ##
    # Virtual Hosts
    ##
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    
  8. Hozzon létre egy example.com.confbelső /etc/nginx/sites-availablekönyvtár nevű fájlt ezzel a paranccsal, nano /etc/nginx/sites-available/example.com.confés másolja/illessze be a következő kódot:

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

    Gratulálunk, most már rendelkezik a HTTP/2-vel rendelkező webszerverrel. Ha http2paramétert ad hozzá a listendirektívához a HTTPS virtuális gazdagépen belül, akkor HTTP/2 támogatást kap.

  9. Hozzon létre egy szimbolikus hivatkozást /etc/nginx/sites-available/example.com.confezzel a paranccsal:

    ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled
    
  10. Teszt konfigurációs szintaxis

    nginx -t
    
  11. Indítsa újra az Nginxet a módosítások alkalmazásához:

    systemctl restart nginx
    
  12. example.comDomain hozzáadása a /etc/hostsfájlhoz

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

A virtuális gazdagép teszteléséhez szöveges böngészőre van szükségünk - elinks.

  1. Az elinks telepítéséhez használja a következő parancsot:

    apt install elinks
    
  2. A example.comvirtuális gazdagép futtatásának tesztelése :

    elinks https://example.com
    
  3. Az elinks böngészőből való kilépéshez nyomja meg a q gombot a billentyűzeten, majd az Enter billentyűt .

Tesztelje a HTTP/2-t

A szerver által hirdetett protokollok megtekintéséhez a legegyszerűbb az openssleszközkészlet használata .

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

A parancs kimenetében valami ilyesmit kell látnia:

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

A HTTP/2 működésének megtekintéséhez használhatja a böngésző fejlesztői eszközeit. A HTTP/2 protokollt h2vagy HTTP/2.0azonosítók jelzik . Nyissa meg a hálózati panelt a fejlesztői eszközökben, és frissítse az oldalt.

Következtetés

Most már tisztában kell lennie azzal, hogy milyen "egyszerű" engedélyezni a HTTP/2-t az Nginx konfigurációjában, de ez nem a teljes kép része. Először is érdemes megfontolni a TLS/SSL engedélyezését a szerveren erős titkosítási csomagokkal, és meg kell győződni arról, hogy nem használsz tiltólistán szereplő titkosításokat . Csak az erős TLS/SSL engedélyezése után kezdhet el gondolkodni a HTTP/2 engedélyezésén .


Leave a Comment

Telepítse a Plesket a CentOS 7 rendszeren

Telepítse a Plesket a CentOS 7 rendszeren

Más rendszert használ? A Plesk egy szabadalmaztatott webtárhely-vezérlőpult, amely lehetővé teszi a felhasználók számára, hogy adminisztrálják személyes és/vagy ügyfeleik webhelyeit, adatbázisait

A Cacti beállítása a Debian Jessie-n

A Cacti beállítása a Debian Jessie-n

Bevezetés A Cacti egy nyílt forráskódú megfigyelő és grafikus eszköz, amely teljes mértékben az RRD adatokon alapul. A Cactuson keresztül szinte bármilyen típusú eszközt felügyelhet

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Bevezetés A Lets Encrypt egy hitelesítésszolgáltató szolgáltatás, amely ingyenes TLS/SSL-tanúsítványokat kínál. A telepítés folyamatát a Certbot leegyszerűsíti,

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Más rendszert használ? Mi az a Tekkit Classic? A Tekkit Classic egy modpack ahhoz a játékhoz, amelyet mindenki ismer és szeret; Minecraft. Tartalmaz néhányat a ver

Az iRedMail beállítása a Debian Wheezy rendszeren

Az iRedMail beállítása a Debian Wheezy rendszeren

Más rendszert használ? Ez az oktatóanyag megmutatja, hogyan telepítheti a csoportmunka iRedMail programot a Debian Wheezy friss telepítésére. Használnia kell egy szervát

Jekyll blog létrehozása Ubuntu 16.04-en

Jekyll blog létrehozása Ubuntu 16.04-en

Más rendszert használ? A Jekyll nagyszerű alternatíva a WordPress helyett blogíráshoz vagy tartalommegosztáshoz. Nem igényel adatbázist, és nagyon egyszerű i

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Más rendszert használ? Ha Debian szervert vásárol, akkor mindig rendelkeznie kell a legújabb biztonsági javításokkal és frissítésekkel, akár alszik, akár nem

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP és a kapcsolódó csomagok a leggyakrabban használt összetevők a webszerverek telepítésekor. Ebben a cikkben megtudjuk, hogyan kell beállítani a PHP 7.0 vagy PHP 7.1 o verzióját

A Squid Proxy telepítése a CentOS rendszeren

A Squid Proxy telepítése a CentOS rendszeren

A Squid egy népszerű, ingyenes Linux-program, amely lehetővé teszi továbbítási webproxy létrehozását. Ebben az útmutatóban megtudhatja, hogyan telepítheti a Squid-et a CentOS rendszerre, hogy megfordítsa

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

Bevezetés A Lighttpd az Apache forkja, amely sokkal kevésbé erőforrás-igényes. Könnyű, innen kapta a nevét, és meglehetősen egyszerű a használata. Telepítés

Három ingyenes szervervezérlő panel (gyors telepítés)

Három ingyenes szervervezérlő panel (gyors telepítés)

1. Virtualmin/Webmin A Virtualmin egy hatékony és rugalmas web hosting vezérlőpanel Linux és UNIX rendszerek számára, amely a jól ismert nyílt forráskódú webbázison alapul.

Yii alkalmazás beállítása Ubuntu 14.04-en

Yii alkalmazás beállítása Ubuntu 14.04-en

A Yii egy PHP-keretrendszer, amely lehetővé teszi alkalmazások gyorsabb és egyszerűbb fejlesztését. A Yii telepítése Ubuntura egyszerű, amint azt pontosan megtudhatja

A képernyő használata Ubuntu 14.04-en

A képernyő használata Ubuntu 14.04-en

A Screen egy olyan alkalmazás, amely lehetővé teszi a terminálmunkamenetek többszöri használatát egy ablakon belül. Ez lehetővé teszi több terminálablak szimulálását, ahol ez ma

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Ez az oktatóanyag elmagyarázza, hogyan állíthat be DNS-kiszolgálót a Bind9 használatával Debian vagy Ubuntu rendszeren. A cikkben ennek megfelelően helyettesítse be a saját-domain-neve.com címet. TH-nál

A Logrotate használata naplófájlok kezelésére

A Logrotate használata naplófájlok kezelésére

Bevezetés A Logrotate egy Linux segédprogram, amely leegyszerűsíti a naplófájlok kezelését. Általában naponta egyszer fut egy cron-feladaton keresztül, és kezeli a naplóbázist

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A VULTR a közelmúltban változtatásokat hajtott végre a saját oldalukon, és most már mindennek jól kell működnie, ha a NetworkManager engedélyezve van. Ha szeretné letiltani

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 egy hatékony felügyeleti rendszer, és mester-kliens modellben használva helyettesítheti az NRPE-alapú felügyeleti ellenőrzések szükségességét. A mester-kliens

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

Más rendszert használ? A Red5 egy Java nyelven megvalósított nyílt forráskódú médiaszerver, amely lehetővé teszi többfelhasználós Flash-alkalmazások, például élő streamin futtatását.

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Ebben a cikkben látni fogjuk, hogyan fordíthatja le és telepítheti az Nginx fővonalat az Nginx hivatalos forrásaiból a PageSpeed ​​modullal, amely lehetővé teszi a

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Más rendszert használ? Az Apache Cassandra egy ingyenes és nyílt forráskódú NoSQL adatbázis-kezelő rendszer, amelyet úgy terveztek, hogy biztosítsa a méretezhetőséget,

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <<strong>>Windows ISO<<strong>> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.