Jakiś czas temu Let's Encrypt wystartowało z Open Beta. Serwis udostępnia wygenerowanie darmowych certyfikatów dla naszych stron WWW.
Wg zapewnień certyfikaty mają być darmowe dla wszystkich. Czy na zawsze? To się okaże..
W kilku prostych krokach pokażę jak zainstalować certyfikat na przykładzie Nginx.
Generowanie certyfikatu
Wpier musimy pobrać repozytorium GIT:
cd ~
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
Następnie generujemy sobie certyfikat:
./letsencrypt-auto certonly --webroot -w /var/www/domain.pl -d domain.pl
Należy podać ścieżkę do katalogu dostępnego z poziomu domeny, ponieważ następuje weryfikacja domeny i jej własności poprzez narzędzia dostarczane przez letsencrypt.
Po wykonaniu powinien ukazać się taki komunikat:
Updating letsencrypt and virtual environment dependencies.......
Running with virtualenv: /root/.local/share/letsencrypt/bin/letsencrypt certonly --webroot -w /var/www/domain.pl -d domain.pl
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/domain.pl/fullchain.pem. Your cert will
expire on 2016-03-17. To obtain a new version of the certificate in
the future, simply run Let's Encrypt again.
- If you like Let's Encrypt, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Położenie certyfikatów
Nasze certyfikaty są umieszczone w
/etc/letsencrypt/live/domain.pl
Będzie tam kilka plików:
lrwxrwxrwx 1 root root 36 gru 18 17:12 cert.pem -> ../../archive/domain.pl/cert1.pem
lrwxrwxrwx 1 root root 37 gru 18 17:12 chain.pem -> ../../archive/domain.pl/chain1.pem
lrwxrwxrwx 1 root root 41 gru 18 17:12 fullchain.pem -> ../../archive/domain.pl/fullchain1.pem
lrwxrwxrwx 1 root root 39 gru 18 17:12 privkey.pem -> ../../archive/domain.pl/privkey1.pem
Są to aktualne certyfikaty. Po aktualizacji nadal będziemy mieli dostęp dzięki automatycznej zmianie linków symbolicznych.
Konfiguracja Nginx
Do naszego vhost wystarczy dodać kilka linijek:
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/domain.pl/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.pl/privkey.pem
Przeładowujemy konfigurację
service nginx reload
i możemy się już cieszyć naszym certyfikatem.
Podsumowanie
Let's Encrypt jest bardzo ciekawą alternatywą dla płatnych certyfikatów, ale ma też minusy. Nie udało mi się nigdzie doczytać, ale certyfikat nie posiada ubezpieczenia które jest dostępne w przypadku płanych rozwiązań.
Certyfikaty Let's Encrypt działają. Można to sprawdzić na tym blogu gdzie jest obecnie zainstalowany. W razię pytań chętnie pomogę i będę dopisywał różne problemy które będą się pojawiały podczas instalacji lub użytkowania.
Strona domowa: https://letsencrypt.org/
Dokumentaca: https://community.letsencrypt.org/c/docs/