Nézzük titkosítja és expressz

HTTPS egyre erős tendencia a modern interneten. És ez jó, különösen, ha az ügyfelek kölcsönhatásba szerverek kommunikálnak velük bizalmas információkat. Ahhoz, hogy használni HTTPS, SSL-tanúsítvány van szükség, mellyel a kiszolgáló hitelesítését. Nézzük titkosítása projekt jelentősen leegyszerűsítette a folyamat, mely során az SSL-tanúsítványokat. Mielőtt a megjelenése, minden sokkal nehezebb volt.







Nézzük titkosítja és expressz


Nézzük titkosítása használja Certbot az Electronic Frontier Foundation, hogy automatizálják a folyamat, mely során az SSL-tanúsítvány. Támogatja a különböző típusú web szerver (Apache, nginx, stb) futnak a Unix-szerű operációs rendszer. Ha a kiszolgáló megfelel a rendszer követelményeinek Nézzük titkosítása, ez azt jelenti, hogy képes lesz a tanúsítvány megszerzéséhez gyakorlatilag teljesen automatikus. Sajnos egy csomó node.js / Express.js Nézzük titkosítása nem támogatja. Azaz, ebben az esetben automatikusan megkapja a tanúsítványt Certbot nem működik. Azonban nincs minden veszve. Használata Nézzük titkosítása és Certbot, a tanúsítvány nem olyan nehéz beszerezni kézzel.

előzmények

Mi fog használni a webroot Certbot módban futtatja azt --webroot gombot. Dióhéjban, ebben Certbot módban a fájlt egy bizonyos könyvtárba a szerver, ami elérhetőnek kell lennie HTTP-n keresztül.

Az Express szolgáltatást tartalmazó könyvtárat a statikus fájlokat, akkor lehetséges, használjunk express.static () függvényt.

A munkaterv

A bizonyítvány megszerzéséhez és fenntartásához annak jelentősége, meg kell, hogy menjen át az öt szakaszból áll:

  1. Átirányítása a megfelelő portok.
  2. Állítsa be a könyvtár struktúrát statikus fájlok és szervezi szolgáltatásai az Express.
  3. Telepítéséhez és futtatásához Certbot.
  4. Állítsa Express használata HTTPS.
  5. Tanúsítvány megújítása Nézzük titkosítása 90 nap.

A következő leírja ezeket a lépéseket részletesen, példákkal és az utasításokat.

port forwarding

Biztos vagyok benne, hogy ez senki nem okoz nehézséget, de a teljesség kedvéért írom le, ezt a lépést.

A sikeres befejezése a hitelesítési folyamat szükséges a kiszolgáló URL-t. Certbot ezt az URL kapcsolódni a szerverhez, és fogadjanak adatokat HTTP. Ez azt jelenti, hogy 80-as portot a megadott URL elérhetőnek kell lennie az interneten. Ne zavarja a nyílt és 443-as port, mivel ez a HTTPS port alapértelmezés szerint.







Személy szerint én inkább tartani az Express-kiszolgáló portok nagyobb számban 1024 alkalmazásával, majd átirányítás szabályok forgalmat küld a 80-as port, vagy 443 a szerveren. Ennek eredményeként nem kell adni Express emelt szintű, biztonságosabb, különös tekintettel arra a tényre, hogy a webszerver fogja kezelni a potenciálisan veszélyes forgalmat.

Ha viszont a végpont egészségügyi ellenőrzés segítségével göndör. hogy minden rendben van, jelzi egy HTTP 200 választ.

Ha a hálózat és a szerver készen áll, akkor folytassa beállítani a karbantartási statikus fájlokat.

Karbantartása statikus fájlok

A fenti parancs futtatásakor a gyökér a projekt, úgy értve, hogy a könyvtár nevét a statikus adatok statikus.

Most, miután a Express szolgáltatás konfigurálva a megfelelő mappába, ellenőrizze a rendelkezésre álló rendszer.

Ha a konzol szövegét «Ez egy teszt» jelenik meg, így ez a lépés sikeresen befejeződött, és mehetsz tovább -, hogy hozzon létre egy új SSL-tanúsítványt.

Az első lépés ebben a szakaszban - beállítás Certbot. Itt megtalálja az utasításokat. Nevezetesen, hogy azokat a mezőben vagyok használ, válassza A fentiek egyike sem. majd a következő mezőben válassza ki az operációs rendszert. Aztán van egy parancs telepíteni. Például az Ubuntu 16.04 (xenial), ez a parancs a következő: sudo apt-get install letsencrypt.

A következő lépés az, hogy létrehoz egy tanúsítványt. Mint már említettük, fogunk futni a webroot Certbot módot. Meg kell adni neki egy utat, amely lehet használni, mint a webszerver gyökér (a -w kapcsolót) és a domain név (a -d kapcsolóval). Ebben az esetben a parancs így néz ki:

Kiváló! Itt van, mi vadonatúj SSL-tanúsítványt. Most telepíteni a azt.

Express és a HTTPS

Ezen kívül ajánlott a fájlok másolása vagy fullchain.pem és privkey.pem a projekt könyvtárában, vagy hozzon létre egy szimbolikus linket a számukra. Készítsen szimbolikus linkek egyszerűsíti a frissítési folyamat, de mit válasszon - nem a legrosszabb.

Az alábbi kódot a feltételezésen alapul, hogy a fájlok és fullchain.pem privkey.pem sslcert mappában található a projekt könyvtárban.

Emellett nem árt Helmet.js. Ez a csomag segít megvédeni az Express-kiszolgáló, irányító HTTP-fejléc. Ő többek között hozzáteszi HSTS. eltávolítja a fejléc X-Powered-By, és beállítja az X-Frame-Options fejlécet az kattintáseltérítés Defense.

Állítsa nagyon egyszerű:

A telepítés után sisak, akkor lehet használni, mint egy közbenső Expressz adatrétegben.

Most, hogy végre arról, hogy minden működik, akkor ellenőrizze a szerver segítségével valami hasonló SSL szerver teszt.

frissítés tanúsítvány

Nézzük titkosítása tanúsítványok 90 napig érvényes. Jó vagy rossz -, felesleges vitatkozni, különösen ha figyelembe vesszük azt a tényt, hogy a megújulási folyamat az igazolás nagyon egyszerű. Nevezetesen, hogy megújítja az igazolást elegendő a parancs végrehajtásához letsencrypt megújítására és Certbot kiad egy új tanúsítványt. Javasoljuk, hogy automatizálja ezt a folyamatot egy cron feladatot. vagy valami hasonló systemd.

Ennek eredményeként, az általunk létrehozott Express szerver szolgálja a statikus fájlokat egy adott pályához Certbot a Webroot mód, hogy a kiszolgáló tanúsítványt, és csatlakozni HTTPS Express, az újonnan létrehozott tanúsítványt. Bár a Certbot automatikus folyamat kölcsönhatás köztünk nem áll rendelkezésre, ezt manuálisan mindent, ami szükséges, nem olyan nehéz.

Azt reméljük, hogy Certbot, a belátható jövőben, lesz felszerelve támogatást Node.js.

És hogyan kap SSL-tanúsítványok Express szerverek? Nincs tanúsítványok használata Nézzük titkosítása?




Kapcsolódó cikkek