Så här ställer du in "Låt oss kryptera" Gratis SSL-certifikat i Nginx (Ubuntu)
Om du har läst många artiklar om sekretess tips kommer du säkert att komma över ett tips som ber dig att installera "HTTPS everywhere" -tillägget så att det automatiskt omdirigerar dig till HTTPS-versionen av webbplatsen när det är möjligt . Det dåliga är att HTTPS överallt bara fungerar när webbplatsen du besöker har implementerat SSL och för de flesta webbansvariga, som kan vara en svår (och kostsam) uppgift i sig. Lyckligtvis är det enklare för webbansvariga att lägga till SSL-certifikat till sina webbplatser nu med Låtets Krypteringsrörelse.
Tidigare (och för tillfället) kräver att du skapar ett SSL-certifikat för att du först ska skapa en privat nyckel på din server och sedan köpa ett SSL-certifikat från certifikatverket (vilket kan vara dyrt) och slutligen sätta upp det på servern . Det är mycket tekniskt involverat i processen, och om du inte gör det på rätt sätt blir SSL-certifikatet värdelöst. Med Let's Encrypt-projektet kan man snabbt lägga till ett SSL-certifikat till sina webbplatser utan kostnad. Och stöds av stora industrispelare som Mozilla, Akamai, Cisco, EFFIf dig och Google, stöds av de flesta webbläsare och operativsystem.
I denna handledning kommer vi att gå igenom stegen för att konfigurera Let's Encrypt SSL-certifikat på Nginx-servern. Vi använder en Ubuntu 14.04-server för denna handledning och antar att du använder en fungerande Nginx Ubuntu-server. Instruktionen kan skilja sig åt för Ubuntu 16.04-servern.
Installera Låt oss kryptera
Först, för att installera Låt oss kryptera, behöver du git
att klona den från sitt git-repository. Installera git med följande kommando:
sudo apt-get install git bc
När du har installerat klonar du Let's Encrypt's repository:
sudo git klon https://github.com/letsencrypt/letsencrypt / opt / letsencrypt
Ställa in miljön
Innan vi fortsätter att installera och konfigurera SSL-certifikatet är det viktigt att tillåta åtkomst till den .well-known
mappen i .well-known
. Som standard är alla filer och mappar med en "." Framför filnamnet dolda och inte tillgängliga för allmänheten. Men i det här fallet måste vi ge tillstånd för allmänheten att komma åt den .well-known
mappen, eftersom det är här Låt oss kryptera kommer att lagra en speciell fil för validering.
Fortsätt till din Nginx-webbplatsens konfigurationsmapp och öppna den (om du har en anpassad konfigurationsfil för din webbplats) eller använd standard:
cd / etc / nginx / webbplatser-tillgänglig sudo nano standard
Lägg till följande rader i serverns block:
plats ~ /\.bevakad {tillåta alla; }
Spara (Ctrl + O) och stäng (Ctrl + x) konfigurationsfilen.
Testa din Nginx-konfiguration:
sudo nginx -t
Om alla konfigurationer fungerar bra, laddar du om konfigurationen:
sudo service nginx reload
Skapa ett SSL-certifikat
Nu när du är klar med konfigurationen Nginx, är nästa sak att installera SSL-certifikatet.
Gå till Let's Encrypt-mappen:
cd / opt / letsencrypt
Kör följande kommando för att generera certifikatet:
./letsencrypt-auto certonly -a webroot --webroot-path = / usr / share / nginx / html -d exempel.se
Det finns några saker att ändra här:
- Ändra
webroot-path
till din webbplatss dokumentrotsbana. Standarden är "/ user / share / nginx / html, " men din konfiguration kan skilja sig åt. - Ändra "example.com" till ditt eget domännamn. Observera att "example.com" och "www.example.com" är två olika domäner. Om du vill att certifikatet ska stödja flera domäner, lägg bara till
-d example1.com
till slutet av kommandot. Om du till exempel vill konfigurera ett SSL-certifikat för domänerna "example.com", "www.example.com", "example1.com" och "www.example1.com", använd följande kommando:
./letsencrypt-auto certonly -a webroot --webroot-path = / usr / dela / nginx / html -d example.com -d www.example.com -d example1.com -d www.example1.com
I första loppet kommer skriptet att installera en massa Python-filer i ditt system. När det är klart kommer det att börja certifikatgenereringsprocessen. Först kommer det att be om din e-postadress:
Därefter uppmanas du att läsa användarvillkoren över på Let's Encrypt-webbplatsen. Välj "Godkänn".
Om du ser följande meddelande:
VIKTIGA ANMÄRKNINGAR: - Grattis! Ditt certifikat och kedja har sparats på /etc/letsencrypt/live/example.com/fullchain.pem. Certifikatet upphör att gälla 2016-10-02. För att få en ny eller tweaked version av detta certifikat i framtiden, kör du enkelt letsencrypt-auto igen. För att icke-interaktivt förnya * alla * av dina certifikat, kör "letsencrypt-auto renew" - Om du gillar Certbot, vänligen överväga att stödja vårt arbete genom att: Donera till ISRG / Låt oss kryptera: https://letsencrypt.org/donate Donera till EFF: https://eff.org/donate-le
Det betyder att du har lyckats generera ett SSL-certifikat för din webbplats (er). Om du istället ser ett felmeddelande fixar du felet och försöker igen.
Aktivera SSL-certifikatet för din webbplats
Nu när du har skapat SSL-certifikatet är det dags att aktivera det för din webbplats.
Gå tillbaka till konfigurationsmappen Nginx och öppna webbplatsens konfigurationsfil:
cd / etc / nginx / webbplatser-tillgänglig sudo nano standard
Skapa ett nytt serverns block och lägg till följande konfiguration i blocket:
server {server_name example.com www.example.com; lyssna 443 ssl; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; }
Spara och stäng filen.
Obs! Ovanstående är en förenklad version av konfigurationsblocket Nginx. Du borde lägga till din egen anpassade konfiguration i blocket.
Slutligen, testa konfigurationen:
sudo nginx -t
Om allt är bra, ladda om Nginx:
sudo service nginx reload
Det är allt. Du har lyckats skapa ett SSL-certifikat för dina webbplatser. Du kan nu ladda "https" -versionen av din webbadress för att se den i åtgärd.
Auto-Renew a Let's Kryptera SSL-certifikat
Till skillnad från de flesta kommersiella SSL-certifikat som är giltiga i minst ett år är ett Let's Encrypt SSL-certifikat endast giltigt i tre månader. Efter den här tiden måste du förnya för att fortsätta använda den. Låt oss kryptera kommer med ett renew
alternativ så att du enkelt kan förnya dina certifikat utan att gå igenom hela installationen igen. Följande instruktioner visar hur du konfigurerar ett cron-jobb för att automatiskt förnya ditt SSL-certifikat.
Fortsätt på din server, öppna crontab:
sudo crontab -e
Lägg till följande rader:
00 0 * * 1 / opt / letsencrypt / letsencrypt-auto renew >> >> /var/log/le-renew.log 05 0 * * 1 /etc/init.d/nginx reload
Ovanstående rader kommer att kontrollera utgångsdatumet för dina SSL-certifikat varje måndag klockan 12 och förnya dem om det är nära utgången. Det kommer också att ladda om Nginx (klockan 12.05) för att säkerställa att det förnyade certifikatet används.
Spara och stäng crontab.
Slutsats
Om du kör en liten webbplats och är angelägna om att lägga till SSL på din webbplats, är Låt oss Kryptera ett bra alternativ för att lägga till trovärdighet för din webbplats. Det är (relativt) lätt att sätta upp och kostar ingenting (gratis, som i öl), så det finns ingen anledning att inte utnyttja den. Eftersom det bara är ett domän-validerat (DV) -certifikat (den mest grundläggande typen av SSL-certifikat) för de företag som kräver SSL-certifikat för organisationsbekräftad (OV) eller Extended Validation (EV), är ett kommersiellt SSL-certifikat förmodligen vägen att gå.
Internet2 - HTTPS