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ł.
Spis treści
ToggleCzym 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:
- Żądanie certyfikatu. Klient ACME (Certbot, acme.sh, AutoSSL hostingu) prosi Let’s Encrypt o certyfikat dla twojadomena.pl.
- 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.
- Wydanie. Challenge przeszedł, Let’s Encrypt wystawia certyfikat (klucz publiczny plus chain). Klient instaluje go na serwerze.
- 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ć:
- Ustawienia, Ogólne: zmień oba URL-e z
http://nahttps://. - Wymuś HTTPS: w .htaccess dodaj redirect (Certbot z flagą
--nginxalbo--apacherobi to sam). Alternatywa: Cloudflare i opcja „Always Use HTTPS”. - Mixed content: jeśli stara treść ładuje obrazki albo CSS po HTTP, przeglądarka je blokuje. Wtyczka Really Simple SSL automatycznie podmienia
http://nahttps://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.






