Hvis du har læst mange artikler om beskyttelse af personlige oplysninger, vil du helt sikkert komme over et tip, der beder dig om at installere udvidelsen "HTTPS overalt", så det automatisk omdirigerer dig til HTTPS-versionen af ​​hjemmesiden, når det er muligt . Den dårlige ting er, at HTTPS overalt udvidelsen kun virker, når hjemmesiden du besøger har implementeret SSL, og for de fleste webmastere, der kan være en vanskelig (og dyr) opgave alene. Heldigvis er det lettere for webmastere at tilføje SSL-certifikater til deres websteder nu, med Let's Encrypt-bevægelsen.

Tidligere (og i øjeblikket) kræver oprettelse af et SSL-certifikat dig først at generere en privat nøgle på din server og derefter købe et SSL-certifikat fra certifikatmyndigheden (hvilket kan være dyrt) og endelig oprette det på serveren . Der er meget teknisk involveret i processen, og hvis du ikke gør det korrekt, bliver SSL-certifikatet ubrugeligt. Med Let's Encrypt-projektet kan man hurtigt tilføje et SSL-certifikat til deres websteder uden omkostninger. Og støttes af store industriaktører som Mozilla, Akamai, Cisco, EFFIf dig og Google, understøttes det af de fleste browsere og operativsystemer.

I denne vejledning vil vi gennemgå trinene for at oprette Let's Encrypt SSL-certifikatet på Nginx-serveren. Vi bruger en Ubuntu 14.04-server til denne tutorial og antager, at du bruger en fungerende Nginx Ubuntu-server. Undervisningen kan variere for Ubuntu 16.04-serveren.

Installer Lad os kryptere

Først for at installere Lad os kryptere, skal du bruge git til at klone det fra dets git repository. Installer git med følgende kommando:

 sudo apt-get install git bc 

Når du er installeret, skal du klone Let's Encrypt's repository:

 sudo git klon https://github.com/letsencrypt/letsencrypt / opt / letsencrypt 

Opsætning af miljøet

Før vi fortsætter med at installere og oprette SSL-certifikatet, er det vigtigt at tillade adgang til den .well-known mappe i web rodmappen. Som standard er alle filer og mapper med en "." Foran filnavnet skjult og ikke tilgængelige for offentligheden. Men i dette tilfælde skal vi give tilladelse til offentligheden for at få adgang til den .well-known mappe, da det er her Lad os kryptere gemmer en speciel fil til validering.

Fortsæt til din Nginx-webstedskonfigurationsmappe, og åbn den (hvis du har en brugerdefineret konfigurationsfil til dit websted) eller brug standard:

 cd / etc / nginx / sites-tilgængelig sudo nano standard 

Tilføj følgende linjer i serverblokken:

 placering ~ / \. velkendt {tillader alle; } 

Gem (Ctrl + O) og luk (Ctrl + x) konfigurationsfilen.

Test din Nginx-konfiguration:

 sudo nginx -t 

Hvis hele konfigurationen fungerer fint, skal du genindlæse konfigurationen:

 sudo service nginx reload 

Generer et SSL-certifikat

Nu hvor du er færdig med Nginx-konfigurationen, er det næste at installere SSL-certifikatet.

Gå til Lad os kryptere mappen:

 cd / opt / letsencrypt 

Kør følgende kommando for at generere certifikatet:

 ./letsencrypt-auto certonly -a webroot - webroot-path = / usr / share / nginx / html -d eksempel.com 

Der er et par ting at ændre her:

  • Skift webroot-path til dit websteds webroot-path . Standarden er "/ user / share / nginx / html, " men din konfiguration kan variere.
  • Skift "example.com" til dit eget domænenavn. Bemærk at "example.com" og "www.example.com" er to forskellige domæner. Hvis du vil have certifikatet til at understøtte flere domæner, skal du blot tilføje -d example1.com til slutningen af ​​kommandoen. Hvis du f.eks. Skal oprette et SSL-certifikat for domænerne "example.com", "www.example.com", "example1.com" og "www.example1.com", skal du bruge følgende kommando:
 ./letsencrypt-auto certonly -a webroot --webroot-path = / usr / share / nginx / html -d eksempel.com -d www.example.com -d eksempel1.com -d www.eksempel1.com 

I første omgang installerer scriptet en masse Python-filer i dit system. Når det er gjort, begynder det certifikatgenereringsprocessen. Først vil det bede om din e-mail-adresse:

Derefter bliver du bedt om at læse Servicevilkårene på Lad os kryptere hjemmesiden. Vælg "Godkendelse".

Hvis du ser følgende besked:

 VIGTIGE NOTER: - Tillykke! Dit certifikat og kæde er blevet gemt på /etc/letsencrypt/live/example.com/fullchain.pem. Dit cert udløber 2016-10-02. For at få en ny eller finjusteret version af dette certifikat i fremtiden, skal du blot køre letsencrypt-auto igen. For at ikke-interaktivt forny * alle * af dine certifikater skal du køre "letsencrypt-auto renew" - Hvis du kan lide Certbot, overvej venligst at støtte vores arbejde ved at: Donere til ISRG / Lad os kryptere: https://letsencrypt.org/donate Donere til EFF: https://eff.org/donate-le 

Det betyder, at du har genereret et SSL-certifikat for dit websted (er). Hvis du i stedet ser en fejlmeddelelse, skal du rette fejlen og forsøge igen.

Aktivering af SSL-certifikatet til dit websted

Nu hvor du har genereret SSL-certifikatet, er det tid til at aktivere det til dit websted.

Gå tilbage til konfigurationsmappen Nginx og åben webstedets konfigurationsfil:

 cd / etc / nginx / sites-tilgængelig sudo nano standard 

Opret en ny serverblok og tilføj følgende konfiguration inde i blokken:

 server {server_name example.com www.example.com; lyt 443 ssl; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; } 

Gem og luk filen.

Bemærk : Ovenstående er en forenklet version af konfigurationsblokken Nginx. Du skal tilføje i din egen brugerdefinerede konfiguration i blokken.

Endelig teste konfigurationen:

 sudo nginx -t 

Hvis alt er fint, genindlæs Nginx:

 sudo service nginx reload 

Det er det. Du har oprettet et SSL-certifikat for dine websteder. Du kan nu indlæse "https" -versionen af ​​din webadresse for at se den i aktion.

Automatisk fornyelse af en lad os kryptere SSL-certifikat

I modsætning til de fleste kommercielle SSL-certifikater, der er gyldige i mindst et år, er et Let's Encrypt SSL-certifikat kun gyldigt i tre måneder. Efter denne tid bliver du nødt til at forny for at fortsætte med at bruge den. Lad os kryptere leveres med en renew, så du nemt kan forny dine certifikater uden at gennemgå hele installationen igen. Følgende instruktioner viser dig, hvordan du opretter et cron-job til automatisk fornyelse af dit SSL-certifikat.

Stadig i din server skal du åbne crontab:

 sudo crontab -e 

Tilføj følgende linjer:

 00 0 * * 1 / opt / letsencrypt / letsencrypt-auto forny >> /var/log/le-renew.log 05 0 * * 1 /etc/init.d/nginx reload 

Ovenstående linjer kontrollerer udløbsdatoen for dine SSL-certifikater hver mandag kl. 12 og forny dem, hvis det er tæt på udløb. Det vil også genindlæse Nginx (kl. 12.05) for at sikre, at det fornyede certifikat er i brug.

Gem og luk crontab.

Konklusion

Hvis du kører en lille hjemmeside og gerne vil tilføje SSL til dit websted, er Let's Encrypt en god mulighed for at tilføje troværdighed til dit websted. Det er (relativt) let at oprette og koster ingenting (gratis som i øl), så der er ingen grund til ikke at gøre brug af det. Men da det kun giver et domænevalideret (DV) certifikat (den mest grundlæggende type SSL-certifikat) for de virksomheder, der kræver SSL-certifikater, der er godkendt af organisationen (valideret) eller Extended Validation (EV), er et kommercielt SSL-certifikat sandsynligvis vejen at gå.

Internet2 - HTTPS