Letsencrypt
Ingyenes, automatizált tanúsítvány.
Telepítés
Szükség van a certbot-auto eszközre. Ha lehet, akkor csomagkezelőből telepítve. Ha nem lehet, akkor az alábbi címről letöltve: https://certbot.eff.org
Ha az utóbbi megoldás marad, annak nem örülünk, mivel a szkript gátlástalanul telepít python csomagokat és frissítgeti magát.
Nginx beállítások
Lehetővé kell tenni, hogy a Letsencryt végrehajtsa a domainek tulajdonjogának ellenőrzését, ami annyiból áll, hogy elhelyez teszt fájlokat a megadott helyen, aztán megpróbálja elérni azokat az összes domainen, amikre a tanúsítványt kérjük.
Az alábbi sorok bekerülnek az /etc/nginx/includes/common fájlba, amit minden vhost fájl beolvas, így minden vhost alatt létezni fog a /.well-known/acme-challenge/ cím. Pl: http://www.morknat.hu/.well-known/acme-challenge/.
location ^~ /.well-known/acme-challenge/ {
# /etc/letsencrypt/webroot/.well-known/acme-challenge/
root /etc/letsencrypt/webroot;
}
Tanúsítványok létrehozása
A teendő annyi, mint rootként kiadni egyetlen parancsot.
certbot certonly --webroot -w /etc/letsencrypt/webroot -d morknat.hu,www.morknat.hu,mork.morknat.hu
A válasz jó esetben valami ilyesmi lesz:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator webroot, Installer None Obtaining a new certificate Performing the following challenges: http-01 challenge for savariaforum.hu http-01 challenge for www.savariaforum.hu http-01 challenge for mork.savariaforum.hu Using the webroot path /var/www/letsencrypt for all unmatched domains. Waiting for verification... Cleaning up challenges Unable to clean up challenge directory /var/www/letsencrypt/.well-known/acme-challenge IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/savariaforum.hu/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/savariaforum.hu/privkey.pem Your cert will expire on 2017-12-19. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Tanúsítványok megújítása
Cronból futtaható. Érdemes néha kézzel is végrehajtani, hogy kiderüljön, ha valami hiba történik. Mert ha például módosul a webszerver konfiguráció és bizonyos domainek tanúsítványai nem frissülnek, az kellemetlen lehet.
certbot renew --no-self-upgrade
Nginx vhost beállítások
A megfelelő vhost fájlok valahogy így fognak kinézni:
server {
listen 80;
listen 443 ssl http2;
server_name morknat.hu;
root /home/dark/projects/morknat.hu/;
ssl_certificate /home/dark/Devel/ca/certs/morknat.hu.crt.pem;
ssl_certificate_key /home/dark/Devel/ca/private/morknat.hu.key.pem;
if ($scheme = http) {
return 301 https://$host$request_uri;
}
include includes/common;
}