Let’s Encrypt: darmowy certyfikat SSL i jak go zainstalować w 5 minut

Let’s Encrypt – co to jest, jak działa darmowy certyfikat SSL i jak go zainstalować

Let’s Encrypt to darmowy, otwarty urząd certyfikacji (CA), który wydaje certyfikaty SSL/TLS automatycznie, bez opłat i bez ręcznej weryfikacji. Ponad 300 milionów aktywnych certyfikatów, czyli mniej więcej 30% wszystkich stron HTTPS w internecie. Powołany w 2015 przez Internet Security Research Group (ISRG), ze wsparciem Mozilli, EFF, Google, Cisco i Facebooka. Cel był prosty: cały internet na HTTPS. W 2026 jest tam już 95+% stron, więc plan w zasadzie zadziałał.

Czym Let’s Encrypt różni się od płatnych certyfikatów

Cecha Let’s Encrypt Płatny (Sectigo, DigiCert)
Cena 0 zł 200–3 000 zł/rok
Typ DV (Domain Validated) DV, OV, EV
Weryfikacja Automatyczna (DNS/HTTP challenge) DV: auto. OV: firma. EV: pełna weryfikacja.
Ważność 90 dni (auto-renew) 1 rok
Wildcard Tak (od 2018) Tak
Nazwa firmy w certyfikacie Nie (tylko DV) OV/EV: tak
Szyfrowanie Identyczne (TLS 1.2/1.3) Identyczne
Zaufanie przeglądarek 100% (Chrome, Firefox, Safari, Edge) 100%
Gwarancja finansowa Nie $10 000–1 750 000

Szyfrowanie jest dosłownie identyczne. Let’s Encrypt i DigiCert za 3000 zł rocznie używają tego samego TLS. Przeglądarka pokazuje tę samą kłódkę, Google nie rozróżnia DV od EV w rankingu. Jedyna realna różnica: OV i EV wyświetlają nazwę firmy w szczegółach certyfikatu (kliknij kłódkę, Certificate, Organization). Bank, ubezpieczyciel albo duży e-commerce z tego korzystają, bo to dodatkowa porcja zaufania. Blog, strona firmowa albo mały sklep z Let’s Encrypt śpią spokojnie.

Jak działa Let’s Encrypt (protokół ACME)

Pod spodem siedzi protokół ACME (Automatic Certificate Management Environment), który automatyzuje weryfikację i wydawanie certyfikatów. Cykl wygląda tak:

  1. Żądanie certyfikatu. Klient ACME (Certbot, acme.sh, AutoSSL hostingu) prosi Let’s Encrypt o certyfikat dla twojadomena.pl.
  2. Challenge. Let’s Encrypt sprawdza, czy faktycznie kontrolujesz domenę. Są dwie metody: HTTP-01 (umieszczasz plik pod konkretnym URL na serwerze) i DNS-01 (dodajesz rekord TXT w DNS). DNS-01 jest wymagany dla wildcardów.
  3. Wydanie. Challenge przeszedł, Let’s Encrypt wystawia certyfikat (klucz publiczny plus chain). Klient instaluje go na serwerze.
  4. Auto-renew. Certyfikat ważny 90 dni. Klient ACME odnawia go automatycznie co około 60 dni (30 dni zapasu). Zero interwencji człowieka.

Cały proces od żądania do działającego HTTPS trwa kilka sekund. Na hostingu z AutoSSL nie klikasz nic, dzieje się to w tle.

Jak zainstalować Let’s Encrypt

Na hostingu współdzielonym. Większość polskich hostingów ma AutoSSL na Let’s Encrypt i nie musisz instalować niczego ręcznie:

Hosting Jak włączyć
cyber_Folks Automatycznie włączone per domena
nazwa.pl Panel → SSL → włącz Let’s Encrypt
home.pl Panel → Serwer → SSL → AutoSSL
zenbox.pl Automatycznie włączone
LH.pl Panel → SSL/TLS → Let’s Encrypt
cPanel SSL/TLS → AutoSSL → Run AutoSSL

Po włączeniu certyfikat instaluje się sam, odnawia co 60 dni i strona działa po HTTPS. Nie ma czego pamiętać.

Na VPS przez Certbot. Certbot (certbot.eff.org) to oficjalny klient ACME od EFF. Jedna komenda i jest:

# Ubuntu/Debian + Nginx
sudo apt update
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d twojadomena.pl -d www.twojadomena.pl

# Ubuntu/Debian + Apache
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d twojadomena.pl -d www.twojadomena.pl

Certbot pobiera certyfikat, dopisuje blok SSL w Nginxie albo Apache’u, dorzuca redirect z HTTP na HTTPS i ustawia cron job do auto-renew. certbot renew chodzi 2 razy dziennie i odnawia certyfikat tylko, jeśli zbliża się data ważności.

Wildcard certyfikat:

sudo certbot certonly --manual --preferred-challenges dns \
  -d "*.twojadomena.pl" -d "twojadomena.pl"

Certbot poprosi o dodanie rekordu TXT _acme-challenge.twojadomena.pl. Dodajesz w panelu DNS, czekasz na propagację, Certbot weryfikuje, certyfikat wildcard wystawiony.

Z Cloudflare. Cloudflare ma własne darmowe certyfikaty (Universal SSL), nie Let’s Encrypt, ale efekt jest ten sam. HTTPS za darmo, automatyczne odnowienie, działa od razu po podpięciu domeny. Haczyk: certyfikat Cloudflare szyfruje trasę użytkownik ↔ Cloudflare. Trasę Cloudflare ↔ twój serwer i tak musisz zabezpieczyć (Let’s Encrypt na origin albo Cloudflare Origin Certificate). Tryb SSL ustaw na Full (strict) i jest pełne szyfrowanie end-to-end.

Dlaczego ważność tylko 90 dni

To celowa decyzja, nie ograniczenie techniczne. Krótka ważność daje trzy konkrety.

Bezpieczeństwo. Wycieknie klucz prywatny? Certyfikat wygaśnie najpóźniej za 90 dni, nie za rok. Mniejsze okno na nadużycie.

Wymuszenie automatyzacji. 90 dni jest na tyle krótkie, że ręczne odnawianie nie wchodzi w grę. Wymusza Certbota albo AutoSSL. Skutek: nikt już nie zapomina o renewalu, w przeciwieństwie do płatnych certyfikatów rocznych, które potrafią wygasnąć, bo ktoś zmienił pracę. Automatyzacja bije ręczne pamiętanie za każdym razem.

Elastyczność kryptograficzna. Częste odnawianie pozwala na szybsze przejście na nowe algorytmy, gdyby coś się zepsuło. RSA przestaje być bezpieczne? Nowy certyfikat z innym algorytmem leci w ciągu 90 dni, a nie roku.

Let’s Encrypt a WordPress

Po zainstalowaniu certyfikatu strona działa po HTTPS, ale WordPress musi się o tym dowiedzieć:

  1. Ustawienia, Ogólne: zmień oba URL-e z http:// na https://.
  2. Wymuś HTTPS: w .htaccess dodaj redirect (Certbot z flagą --nginx albo --apache robi to sam). Alternatywa: Cloudflare i opcja „Always Use HTTPS”.
  3. Mixed content: jeśli stara treść ładuje obrazki albo CSS po HTTP, przeglądarka je blokuje. Wtyczka Really Simple SSL automatycznie podmienia http:// na https:// w bazie i HTML.

Typowe problemy

Certyfikat się nie odnowił. Powody są zwykle trzy. Cron Certbota nie chodzi (sprawdź sudo systemctl status certbot.timer). Port 80 zablokowany przez firewall i HTTP-01 challenge nie ma jak przejść. Serwer zwraca 301 na porcie 80 zamiast 200. Diagnoza: sudo certbot renew --dry-run i czytasz błąd.

Too Many Requests. Let’s Encrypt ma rate limity: maksymalnie 50 certyfikatów per domena na tydzień, 5 duplikatów na tydzień, 300 nowych zamówień na 3 godziny. Przy normalnej pracy nigdy w to nie wjedziesz. Ale jeśli testujesz wielokrotnie, możesz się zablokować na tydzień. Do testów zawsze flaga --staging, nie liczy się do limitów.

Strona nadal „Niezabezpieczona”. To mixed content, czyli HTML jedzie po HTTPS, ale obrazki, CSS albo JS po HTTP. Chrome pokazuje wtedy kłódkę z wykrzyknikiem. F12, Console, szukaj komunikatu „Mixed Content”. Napraw, podmieniając URL-e w treściach (Database Search Replace), motywie i wtyczkach. Albo wpinasz Really Simple SSL i niech robi to za ciebie.

Najczęściej zadawane pytania

Czy Let’s Encrypt jest tak samo bezpieczny jak płatny

Tak. Szyfrowanie jest identyczne (TLS 1.2/1.3, RSA 2048/4096 albo ECDSA). Google nie rozróżnia Let’s Encrypt od DigiCerta w rankingu, przeglądarki pokazują tę samą kłódkę. Jedyna różnica: płatne OV/EV wyświetlają nazwę firmy w certyfikacie. To kwestia wizerunkowa, nie bezpieczeństwa.

Czy muszę odnawiać ręcznie co 90 dni

Nie. Certbot na VPS-ie i AutoSSL na hostingu odnawiają same. Certbot przy instalacji ustawia cron job, który leci 2 razy dziennie. certbot renew sprawdza daty i odnawia tylko wtedy, gdy do wygaśnięcia zostało mniej niż 30 dni.

Czy działa na darmowym hostingu

Zwykle nie. Darmowe hostingi (000webhost, InfinityFree) nie dają dostępu do roota ani Certbota i nie mają AutoSSL. Płatne hostingi od jakichś 10 zł miesięcznie mają to standardowo. Za 10 zł dostajesz hosting, domenę (zwykle gratis na rok), Let’s Encrypt i backup. Sensowny minimum.

Let’s Encrypt vs Cloudflare SSL

Oba darmowe. Let’s Encrypt to certyfikat na twoim serwerze (end-to-end encryption). Cloudflare Universal SSL to certyfikat na Cloudflare, więc szyfrowanie idzie tylko między użytkownikiem a Cloudflarem. Trasa Cloudflare do twojego origin servera wymaga osobnego certyfikatu. Najlepsze ustawienie, jakie sam stosuję: Let’s Encrypt na serwerze plus Cloudflare jako CDN w trybie SSL Full (strict). Wtedy szyfrowanie jest na obu trasach.

Ile domen obsłuży Let’s Encrypt

Bez limitu. Możesz mieć certyfikaty na dowolnej liczbie domen. Pojedynczy certyfikat obejmuje do 100 domen przez SAN (Subject Alternative Name). Limity dotyczą tylko częstotliwości wydawania (50 na domenę na tydzień), nie sumarycznej liczby.

Picture of Tomasz Zieliński
Tomasz Zieliński

Tomasz zajmuje się tematyką SEO, sztucznej inteligencji i automatyzacji pracy w marketingu internetowym. W swoich artykułach analizuje zmiany w algorytmach wyszukiwarek, rozwój narzędzi AI oraz nowe sposoby tworzenia i optymalizacji treści. Interesuje go przede wszystkim to, jak technologia wpływa na codzienną pracę specjalistów SEO, marketerów i twórców internetowych.

Facebook
Twitter
LinkedIn
Pinterest

Najnowsze Wpisy

Śledź nas