Kako implementirati certifikat ZeroSSL v Apache in Nginx?

Oglejmo si BREZPLAČNO SSL / TLS potrdilo od ZeroSSL in ga implementiramo na spletnih strežnikih Apache in Nginx..


Uvod

Morda ste že slišali veliko o izrazih, kot sta HTTP in HTTPS. V zgodnjih dneh je bil določen protokol, ki je bil imenovan kot HyperText Transfer Protocol (HTTP). To je način za komunikacijo od brskalnika do spletnega strežnika. Ko se ta komunikacija zgodi, podatki, ki potujejo po protokolu HTTP, samo potujejo v jasnih oblikah besedila. Zaradi tega je bilo ugotovljeno, da komunikacija HTTP ni varna, hekerji pa so lahko napadali in prestregli pomembna in občutljiva sporočila.

Za rešitev tega vprašanja je treba HTTPS protokol je prišel v sliko. To je varen protokol in kratica pomeni HyperText Transfer Protocol Secure. Preprosto naredi šifriranje podatkov, ko se komunikacija zgodi, in podatki potujejo iz spletnega brskalnika v spletni strežnik. Tako da če katerikoli heker pridobi te podatke, so vse šifrirane.

Kako deluje HTTPS?

HTTPS protokol deluje na kateri koli od dveh stvari, to je SSL (Secure Socket Layer) ali TLS (Transport Layer Security). Obe orodji uporabljata PKI (infrastrukturo javnega ključa). PKI v zameno uporablja dva ključa, tj. javnih in zasebnih ključev. Vse, kar je šifrirano z javnim ključem, je mogoče dešifrirati z zasebnim ključem in obratno.

Ko na svoje spletno mesto namestimo SSL / TLS certifikat, je „šifriranje podatkovFunkcija je omogočena. SSL se uporablja kot kontrolna točka za zagotavljanje varnosti podatkov, ki se prek interneta izmenjujejo med brskalnikom uporabnika in strežnikom spletnega mesta.

Pridobitev certifikata ZeroSSL

ZeroSSL je organ za potrjevanje (CA), ki vsem zelo olajša namestitev certifikata za varno spletno mesto. Do tri certifikate z veljavnostjo 90 dni lahko dobite brezplačno.

Zero SSL

  • Prijavite se z ZeroSSL
  • Po prijavi se prikaže spodnja stran. Kliknite na ‘Novo potrdilo. “

  • Vnesite URL, ki ga želite zavarovati, in kliknite »Naslednji korak.

  • Izberite 90-dnevno potrdilo in Naprej

  • Nadaljujmo z možnostjo samodejnega ustvarjanja CSR

  • Nadaljujte z načrtom “Brezplačno”

Nato morate preveriti lastništvo domene. Obstaja nekaj možnosti.

  • DNS – če lahko dodate vnos zapisa DNS
  • E-pošta – če lahko e-pošto prejmete na [zaščitena e-pošta]
  • Nalaganje datoteke – če lahko naložite datoteko v koren domene

Izberite, kaj vam ustreza. Nadaljujem z vnosom DNS.

  • Dodala sem CNAME in pripravljena preveriti domeno.

  • Ko je potrjeno, je potrdilo SSL pripravljeno za prenos.

Tu so moja prenesena potrdila.

Čas je za njegovo izvajanje.

Izvajanje na Apacheu

V nadaljevanju bom namestil Apache na Ubuntu.

Prijavite se na strežnik in namestite z ukazom apt-get.

sudo apt-get install apache2

Ugotovimo, ali Apache izvaja ukaz systemctl.

[zaščitena e-pošta]: ~ # sistemctl status apache2
● apache2.service – strežnik Apache HTTP
Naloženo: naloženo (/lib/systemd/system/apache2.service; omogočeno; prednastavitev ponudnika: omogočeno)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Aktivno: aktivno (deluje) od sobote 2020-05-23 16:15:56 UTC; Pred 3 leti
Postopek: 7852 ExecStop = / usr / sbin / apachectl stop (koda = izstopila, status = 0 / USPEH)
Proces: 14179 ExecStart = / usr / sbin / apachectl start (koda = izšel, status = 0 / USPEH)
Glavni PID: 14196 (apache2)
Naloge: 55 (omejitev: 2362)
CGroup: /system.slice/apache2.service
├─14196 / usr / sbin / apache2 -k začetek
├─14199 / usr / sbin / apache2 -k začetek
└─14200 / usr / sbin / apache2 -k začetek

23. maja 16:15:56 geekflare-lab systemd [1]: Zagon Apache HTTP Server…
23. maja 16:15:56 geekflare-lab apachectl [14179]: AH00558: apache2: Ne moremo zanesljivo določiti popolnoma kvalificiranega domenskega imena strežnika z uporabo 127.0.1.1. Nastavite ‘Serve
23. maja 16:15:56 geekflare-lab systemd [1]: Začel ATP strežnik Apache.

Super, teče.

Moja domena (lab.geekflare.com) že kaže na ta strežnik Apache.

Kot lahko vidite, ni zaščiten, zato bomo konfigurirali potrdilo, ki smo ga dobili od ZeroSSL.

  • Ustvarimo imenik sslCA pod / etc za shranjevanje datotek potrdil.

CD / itd
mkdir sslCA

  • Prenesite datoteke v novo ustvarjeno mapo na strežniku

[zaščitena e-pošta]: / etc / sslCA # ll
skupaj 20
drwxr-xr-x 2 korenina korena 4096, 18. maja, 12:13 ./
drwxr-xr-x 92 korenski koren 4096 22. maj 06.07 ../
-rw-r – r– 1 korenski koren 2430, 18. maja 05:37 ca_bundle.crt
-rw-r – r– 1 korenski koren 2292, 18. maja 05:37 potrdilo.crt
-rw-r – r– 1 korenski koren 1702, 18. maja 05:37 privat.key

  • Omogoči SSL modul

sudo a2enmod SSL

  • Da bomo lahko prepoznali spremembe, bomo morali znova zagnati spletni strežnik.

sudo storitev ponovno zaženite apache2

  • Naslednji korak je konfiguracija datotek potrdil v konfiguracijski datoteki Apache SSL.

cd / etc / apache2 / mods-na voljo

  • Ime datoteke je ssl.conf. V direktivo moramo dodati naslednje.

SSLEngine vklopljen
SSLCertificateFile /etc/SSLCA/certificate.crt
SSLCertificateKeyFile /etc/SSLCA/private.key
SSLCertificateChainFile /etc/SSLCA/ca_bundle.crt

  • Shranite datoteko in zapustite: wq!

Po ponovnem zagonu bo SSL na spletnem mestu omogočil dostop. Obiščimo spletno mesto s https: //

In kot vidite,Povezava je zanesljiva. “. To pomeni, da je bil naš SSL certifikat uspešno uporabljen na našem spletnem strežniku.

Izvajanje na Nginxu

Nginx se nahaja v privzetih skladiščih Ubuntuja, zato ga je od tu mogoče namestiti z ustreznim sistemom pakiranja.

  • Spodnji ukaz se uporablja za namestitev »Nginx”.

sudo apt namestite nginx

  • Po uspehu namestitve lahko Nginx zaženemo s spodnjim ukazom.

systemctl start nginx

  • Preverite stanje Nginx.

[zaščitena e-pošta]: ~ # systemctl status nginx
● nginx.service – Visoko zmogljiv spletni strežnik in povratni proxy strežnik
Naloženo: naloženo (/lib/systemd/system/nginx.service; omogočeno; prednastavitev ponudnika: omogočeno)
Aktivno: aktivno (deluje) od čet 2020-05-19 06:54:00 UTC; Pred 4 dnevi
Dokumenti: moški: nginx (8)
Proces: 8634 ExecStop = / sbin / start-stop-daemon –quiet – stop –retry QUIT / 5 –pidfile /run/nginx.pid (koda = izstopila, status = 0 / USPEH)
Postopek: 8661 ExecStart = / usr / sbin / nginx -g daemon vklopljen; master_process vklopljen; (koda = izšla, status = 0 / USPEH)
Postopek: 8653 ExecStartPre = / usr / sbin / nginx -t -q -g daemon vklopljen; master_process vklopljen; (koda = izšla, status = 0 / USPEH)
Glavni PID: 8664 (nginx)
Naloge: 2 (omejitev: 2362)
CGroup: /system.slice/nginx.service
├─8664 nginx: glavni postopek / usr / sbin / nginx -g daemon vklopljen; master_process vklopljen;
└─8707 nginx: postopek delavca

19. maj 06:54:00 geekflare-lab systemd [1]: Zagon visoko zmogljivega spletnega strežnika in povratnega proxy strežnika…
19. maj 06:54:00 geekflare-lab systemd [1]: nginx.service: ni bilo mogoče razčleniti PID iz datoteke /run/nginx.pid: Neveljaven argument
19. maj 06:54:00 geekflare-lab systemd [1]: Začel Visoko zmogljiv spletni strežnik in povratni proxy strežnik.

  • Po pričakovanju bo brskalnik prikazal opozorilo, saj povezava s to spletno stranjo ni varna.

Hitro izvedimo potrdilo, da spletno mesto zavarujemo s HTTPS.

  • Ustvarimo datoteko example.com.conf na /etc/nginx/conf.d lokaciji. Vsebina datoteke bo videti spodaj.

strežnik {
poslušaj 443 SSL default_server;
poslušaj [::]: 443 SSL default_server;
ime strežnika lab.geekflare.com lab.geekflare.com;
root / var / www / html;
}

  • Zdaj morate dodati ime datoteke potrdila v datoteko nginx.conf, ki se nahaja v imeniku “/ etc / nginx”.
  • V direktivo http dodajte naslednje

ssl_certificate /etc/sslCA/certificate.crt;
ssl_certificate_key /etc/sslCA/private.key;

  • Znova zaženite Nginx, da preverite spremembe

systemctl znova zaženite nginx

In tu gremo.

Vas zanima učenje Nginxa? Oglejte si to seveda osnova.

Testiranje konfiguracije SSL / TLS

Privzeta konfiguracija je morda ranljiva in toplo predlagam testiranje vašega spletnega mesta po izvedbi certifikata. Tukaj lahko preverite več spletnih orodij.

Zaključek

Upam, da vam to daje idejo, da pridobite certifikat od ZeroSSL in ga implementirate v dva najbolj priljubljena spletna strežnika.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map