Konfigurer Lets Encrypt Digital Ocean

Konfigurer Lets Encrypt Digital Ocean



Et nettsteds domene må ha SSL/TLS-kryptering hvis det har til hensikt å få besøkende. SSL/TLS-sertifikater gir en sterk forbindelse mellom nettservere og nettlesere. Tidligere var ikke sikkerhet et stort problem. Det var relativt vanlig at nettsider leverte data via den etablerte HTTP-protokollen. I dag må kanalen som brukes til å kommunisere med serveren være sikret, fordi nettkriminalitet, inkludert identitetstyveri, kredittkortsvindel og spionasje, øker.

En Certificate Authority (CA) kalt Let's Encrypt tilbyr gratis SSL/TLS-sertifikater, som muliggjør HTTPS-kryptering på webservere. Den er domeneverifisert, så en dedikert IP-adresse er ikke nødvendig. Det anbefales vanligvis å ha et SSL-sertifikat aktivert på nettstedet ditt for å forbedre SEO-rangeringen din, spesielt på Google.







Arbeidene til Let's Encrypt

Let's Encrypt bekrefter domeneeierskap før du gir et sertifikat. Når tokenet er validert, sender Let's Encrypt-valideringsserveren en HTTP-forespørsel om å hente filen og sikrer at domenets DNS-post peker til serveren som er vert for Let's Encrypt-klienten.



Krav

Du må gjøre følgende før du bruker Let's Encrypt:



Følg instruksjonene i dette første serveroppsettet for Ubuntu 20.04-opplæringen, når Ubuntu 20.04-serveren er satt opp, komplett med en brannmur og en ikke-rootbruker med sudo-tilgang.





Et domenenavn med registrering. Gjennom hele denne artikkelen vil myfirstproject1.com bli brukt. Du kan kjøpe et domene.

Følgende to DNS-poster er konfigurert på serveren din.



  • En 'myproject1'-post med myfirstproject1.com som peker til den offentlige IP-adressen til serveren din
  • En 'myproject2'-post med myfirstproject2.com som peker til den offentlige IP-adressen til serveren din.

Nginx skal være installert, og du må sørge for at domenet ditt har en serverblokk.

Trinn for å installere Let's Encrypt on Digital Ocean

Hovedtrinnene for å installere Let's Encrypt på det digitale havet er:

Installerer Certbot

Certbot-programvaren er det primære behovet for å bruke Let's Encrypt for å få et SSL-sertifikat. For å installere Certbot og dens Nginx-plugin bruker vi følgende kommando:

De fleste delte vertsselskaper og noen nettskyvertsselskaper inkorporerer Certbot eller en lignende plugin i webvertspanelet som lar deg kjøpe, fornye og administrere SSL/TLS-sertifikater ved å ha noen klikk.

Mens 'python3-certbot-nginx' er en pakke som brukes til å:

Vis umiddelbart overfor Let's Encrypt CA at du har ansvaret for nettstedet.

  • Hold oversikt over når lisensen din må oppgraderes og når den er i ferd med å utløpe.
  • Skaff og installer et nettleser-klarert sertifikat på hvilken som helst webserver.
  • Bistå deg med å tilbakekalle sertifikatet dersom det skulle oppstå behov.

Certbot er nå klar til bruk, men noen av innstillingene må bekreftes før den kan sette opp SSL for Nginx automatisk.

Bekrefter Nginx sin konfigurasjon

Certbot skal kunne konfigurere SSL automatisk. Den må kunne finne riktig serverblokk i Nginx-konfigurasjonen. Mer presist oppnår den dette ved å søke etter et servernavndirektiv som tilsvarer domenet du ber om et sertifikat for.

Den skal allerede ha servernavndirektivet riktig konfigurert i en serverblokk for domenet, som vi vil bruke på '/etc/nginx/sites-available/myfirstproject1.com'.

Åpne domenekonfigurasjonsfilen i nano eller det andre tekstredigeringsprogrammet for å bekrefte at filen din vil bli åpnet hvis den eksisterer, lukk redigeringsprogrammet og gå til neste handling. Servernavnet vil se ut som 'server_name domene_name www.domain_name.com ', som vist i utdraget nedenfor.

Hvis det ikke endres, samsvarer det. Bekreft syntaksen til konfigurasjonsendringene etter at du har lagret filen og lukket redigeringsprogrammet. Bruk den påfølgende instruksjonen for å sjekke:

$ sudo nginx –t

Last inn Nginx på nytt for å laste den oppdaterte konfigurasjonen etter å ha kontrollert at konfigurasjonsfilens syntaks er riktig:

$ sudo systemctl last inn nginx på nytt

Nå kan Certbot automatisk finne riktig serverblokk og oppdatere den. En systemctl er ansvarlig for å inspisere og administrere systemd system og serviceadministrasjon. Den fungerer som System V init-demonens erstatning og består av flere systemadministrasjonsbiblioteker, verktøy og demoner.

Aktivering av HTTPS via brannmuren

De nødvendige anbefalingene anbefaler deg å aktivere UFW-brannmuren. Du må endre innstillingene for å tillate HTTPS-trafikk.

UFW-statusalternativet lar oss se UFWs siste tilstand. UFW-statusen viser en liste over forskrifter hvis UFW er aktivert. Selvfølgelig, hvis du har den nødvendige legitimasjonen, kan du bare kjøre kommandoen som root-bruker eller ved å prefiksere den med sudo.

Aktiver Nginx Full-profilen og fjern den unødvendige Nginx HTTP-profilen for å tillate HTTPS-trafikk også:

Den forrige utdraget viser metoden for å tillate fullstendig trafikk fra Nginx, og den andre viser hvordan du sletter den andre trafikken vi tillot.

Hvordan få et SSL-sertifikat

Ved hjelp av plugins tilbyr Certbot flere måter å få SSL-sertifikater på. Nginx sin konfigurasjon og omlasting av konfigurasjonen vil bli håndtert av Nginx-plugin etter behov.

Bruk Certbot for å få domenets SSL-sertifikat med en gang. For å indikere domenet, er et '-d' argument nødvendig. Ett sertifikat er utstedt av Let's Encrypt for www-underdomenet og roten. Det er nødvendig å skaffe sertifikatet for begge versjonene siden det å bare ha én for hver versjon vil resultere i en advarsel i nettleseren hvis en besøkende ser den andre versjonen. For nye brukere ber certbot deg om å oppgi e-posten din for det første og bekrefte at du godtar vilkårene for tjenesten.

Hvis dette var vellykket, ville det be deg om å gjøre valget ditt og trykke ENTER. Etter å ha oppdatert konfigurasjonen, vil Nginx laste inn på nytt og vurdere de nye innstillingene. Etter å ha fullført, vil certbot gi deg beskjed om at prosedyren var vellykket.

Konklusjon

I denne veiledningen demonstrerte vi hvordan du installerer og bruker Let's Encrypt-programvarens certbot, får et SSL-sertifikat, setter opp automatisk oppdatering for et SSL-sertifikat og konfigurerer Nginx. I tillegg ga vi deg også noen eksempler på situasjoner som kan resultere i kompileringsproblemer når du bruker Let's Encrypt Digital Ocean.