Installera ssl-certifikat på webbservern

Följande bilder visar hur enkelt det kan vara att installera certifikat på din webbserver. Vi börjar med att installera letsencrypt. Det här gjordes i Fedora 23 och givetvis skiljer det sig åt beroende på operativsystem.

Sammanlagt 28 paket installerades i samband med installationen av letsencrypt. Så här försökte jag första gången att installera certifikatet. Letsencrypt förordar att man stänger av webbservern. Jag gjorde det genom kommandot.

# systmectl stop nginx.service

Men det gick illa. Letsencrypt är fortfarande på beta-stadiet i vissa avseenden. Jag gjorde inte några efterforskningar utan tittade bara i loggen. Och jag bestämde mig för att göra...

...så här i stället.

Det bästa är att läsa igenom villkoren innan man börjar med installationen. Här har ni adressen till villkoren.

Vilket fungerade klanderfritt! Nu vidare till Nginx. Jag startar den.

# systemctl start nginx.service

De här raderna skrev jag i konfigurationsfilen för aktuellt webbsite. Och efter att jag sparat filen kollar jag å följande sätt att det inte är alltför många fel i direktiven jag lagt till.

# nginx -t

Om allt är ok meddelar Nginx, och om inte gör den det också. Ofta kan den dock godkänna fel utan att tala om något med ovanstående kommando. Men det  kommer fram t ex genom att det inte fungerar att surfa in på sidan.

Men detta fungerar. Det ser nu ut så här när man surfar in på webbsidan. Den förhatliga varningen om att sidan utgör ett hot kommer inte längre upp. Och hänglåset är grönt, vilket är skönt.

När det är dags att förnya certifikatet räcker det med 3 kommandon på servern ifråga:

# systemctl stop nginx.service

# letsencrypt certonly --standalone -d mail.ingos.se

# systemctl start nginx.service

Kan det bli lättare?

Vid problem med förnyelse av certifikat

Problem: Senast råkade jag ut för att det inte gick att förnya ett tidigare certifikat. Felmeddelandet löd: "Problem binding to port 80: Could not bind to IPv4 or IPv6… Skipping" Då hade jag provat med letsencrypt standalone -d www.example.com 

Letsencrypt vill att användarna ska gå över från kommandot letsencrypt till certbot. Men det fungerade inte heller. Till exempel med certbot renew --nginx

Men efter ett tips körde jag följande kommando:

sslprestashop3
 

När det var gjort behövde jag kopiera fullchain.pem och privkey.pem från webbservern till min proxyserver (som också kör Nginx) Konfigurationsfilen (som finns i /etc/nginx/sites-enabled/) i proxyservern anger sökvägen till certifikaten på den servern. För att förtydliga: jag har alltså certifikaten på två ställen, dels på proxyservern, dels på webbservern som kör siten. Proxyservern är den som tar emot trafiken från internet och sen vidarebefordrar trafiken till min webbserver.

så här gjorde jag kopieringen, efter att ha ställt mig där certifikaten finns på min webbserver.

root@eva-pc:# scp fullchain.pem  root@10.0.1.122:/etc/letsencrypt/live/example.com/

root@ingos:# certbot certonly -d ingos.se -d www.ingos.se