Let’s Encrypt to darmowy, otwarty urząd certyfikacji (CA), który wydaje certyfikaty SSL/TLS za darmo – automatycznie, bez opłat, bez ręcznej weryfikacji. Ponad 300 milionów aktywnych certyfikatów, ~30% wszystkich stron HTTPS w internecie. Stworzony przez Internet Security Research Group (ISRG) w 2015, wspierany przez Mozilla, EFF, Google, Cisco, Facebook. Cel: 100% internetu na HTTPS – i prawie to osiągnięto (95%+ stron w Google jest na HTTPS w 2026).
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 (przy incydencie) |
Szyfrowanie jest identyczne – Let’s Encrypt i DigiCert za 3 000 zł/rok używają tego samego TLS. Przeglądarka pokazuje tę samą kłódkę. Google nie rozróżnia DV od EV w rankingu. Jedyna różnica: płatny OV/EV wyświetla nazwę firmy w szczegółach certyfikatu (kliknij kłódkę → Certificate → Organization). Dla: banków, firm ubezpieczeniowych, e-commerce z dużym obrotem – OV/EV buduje dodatkowe zaufanie. Dla: blogów, stron firmowych, małych sklepów – Let’s Encrypt w 100% wystarcza.
Jak działa Let’s Encrypt – ACME protocol
Let’s Encrypt używa protokołu ACME (Automatic Certificate Management Environment) do automatycznej weryfikacji i wydawania certyfikatów. Proces:
- Żądanie certyfikatu. Klient ACME (Certbot, acme.sh, hosting autoSSL) wysyła żądanie do Let’s Encrypt: „chcę certyfikat dla twojadomena.pl”.
- Challenge (weryfikacja własności domeny). Let’s Encrypt sprawdza, czy kontrolujesz domenę. Dwa typy challenge:
- HTTP-01: Let’s Encrypt mówi „umieść plik X pod URL Y na swojej stronie”. Klient tworzy plik → Let’s Encrypt go sprawdza → „OK, kontrolujesz tę domenę”.
- DNS-01: Let’s Encrypt mówi „dodaj rekord TXT o wartości Z do DNS domeny”. Klient dodaje → Let’s Encrypt sprawdza → „OK”. Wymagany dla wildcard certyfikatów.
- Wydanie certyfikatu. Challenge przeszedł → Let’s Encrypt wydaje certyfikat (public key + chain) → klient instaluje na serwerze.
- Auto-renew. Certyfikat ważny 90 dni. Klient ACME odnawia automatycznie co ~60 dni (30 dni zapasu). Zero interwencji.
Cały proces trwa sekundy – od żądania do zainstalowanego certyfikatu. Na hostingu z autoSSL: zero klikania – hosting robi to w tle.
Jak zainstalować Let’s Encrypt
Na hostingu współdzielonym (1 klik)
Większość polskich hostingów ma automatyczny Let’s Encrypt (AutoSSL) – nie musisz nic instalować:
| 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 (ogólnie) | SSL/TLS → AutoSSL → Run AutoSSL |
Po włączeniu: certyfikat instaluje się automatycznie, odnawia się co 60 dni, strona działa na HTTPS. Nie musisz pamiętać o odnowieniu – AutoSSL robi to w tle 24/7.
Na VPS z Certbot
Certbot (certbot.eff.org) to oficjalny klient ACME od EFF – instalujesz na VPS, automatycznie pobiera i odnawia certyfikaty.
# 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 automatycznie: pobiera certyfikat, konfiguruje Nginx/Apache (dodaje blok SSL), ustawia redirect HTTP → HTTPS, dodaje cron job do auto-renew (certbot renew uruchamia się 2x dziennie, odnawia tylko gdy certyfikat jest bliski wygaśnięcia).
Wildcard certyfikat Let’s Encrypt
sudo certbot certonly --manual --preferred-challenges dns \
-d "*.twojadomena.pl" -d "twojadomena.pl"
Certbot poprosi o dodanie rekordu TXT _acme-challenge.twojadomena.pl w DNS. Dodajesz → czekasz na propagację → Certbot weryfikuje → certyfikat wildcard wydany. Szczegóły w poradniku o wildcard SSL.
Z Cloudflare
Cloudflare wydaje własne darmowe certyfikaty SSL (Universal SSL) – nie Let’s Encrypt, ale efekt ten sam: HTTPS za darmo, automatyczne odnowienie. Działa natychmiast po podłączeniu domeny do Cloudflare (zero konfiguracji). Ale: certyfikat Cloudflare działa na trasie użytkownik ↔ Cloudflare. Na trasie Cloudflare ↔ serwer: potrzebujesz certyfikatu na serwerze (Let’s Encrypt lub Cloudflare Origin Certificate). Ustaw SSL mode: Full (strict).
Dlaczego certyfikat ważny 90 dni (nie rok)
Let’s Encrypt celowo wybrał krótką ważność (90 dni zamiast 1 roku):
Bezpieczeństwo: jeśli klucz prywatny wycieknie – certyfikat wygaśnie w max 90 dni (nie za rok). Mniejsze okno ataku.
Automatyzacja: 90 dni wymusza automatyczne odnawianie (Certbot, AutoSSL). Efekt: nikt nie zapomina o odnowieniu (w odróżnieniu od płatnych certyfikatów na rok, które wygasają bo ktoś zapomniał → strona padła). Automatyzacja > ręczne pamiętanie.
Elastyczność: częste odnawianie = szybsze przejście na nowe algorytmy kryptograficzne (jeśli RSA zostanie złamany – nowy certyfikat z nowym algorytmem w ciągu 90 dni, nie roku).
Let’s Encrypt a WordPress
Po zainstalowaniu Let’s Encrypt: strona jest dostępna na HTTPS. Ale WordPress musi wiedzieć o tym:
- WordPress → Ustawienia → Ogólne: zmień oba URL-e z
http://nahttps://. - Wymuś HTTPS: w .htaccess dodaj redirect HTTP → HTTPS (lub Cloudflare Always Use HTTPS). Certbot z flagą
--nginxlub--apacherobi to automatycznie. - Mixed content: jeśli strona ładuje zasoby (obrazki, CSS, JS) przez HTTP na stronie HTTPS → przeglądarka blokuje je. Wtyczka Really Simple SSL (darmowa) naprawia mixed content automatycznie (zmienia http:// na https:// w bazie i HTML).
Typowe problemy z Let’s Encrypt
Certyfikat się nie odnowił
Przyczyny: (1) Certbot cron job nie działa – sprawdź: sudo systemctl status certbot.timer. (2) Port 80 zablokowany – HTTP-01 challenge wymaga dostępu na port 80. Jeśli firewall blokuje 80: challenge fail → brak odnowienia. (3) Serwer zwraca 301 na port 80 → challenge fail (musi zwracać 200). Rozwiązanie: sudo certbot renew --dry-run (test odnowienia bez faktycznej zmiany) → pokaże błąd.
Too Many Requests (rate limit)
Let’s Encrypt ma limity: max 50 certyfikatów per domenę per tydzień, max 5 duplikatów per tydzień, max 300 nowych zamówień per 3 godziny. Przy normalnym użyciu: nie trafisz w limit. Ale: jeśli testujesz wielokrotnie → możesz zablokować się na tydzień. Do testów używaj staging environment: certbot --staging (nie liczy się do limitu).
Certyfikat ale strona nadal „Niezabezpieczona”
Mixed content – strona ładuje zasoby przez HTTP (http://domena.pl/obrazek.jpg) na stronie HTTPS. Chrome: kłódka z wykrzyknikiem lub „Niezabezpieczona”. Sprawdź: F12 → Console → szukaj „Mixed Content”. Napraw: zmień URL-e z http:// na https:// w: treściach (WordPress → Database Search Replace), motywie (hardcoded URL-e), wtyczkach. Lub: wtyczka Really Simple SSL.
Najczęściej zadawane pytania
Czy Let’s Encrypt jest tak samo bezpieczny jak płatny certyfikat?
Tak – szyfrowanie jest identyczne (TLS 1.2/1.3, RSA 2048/4096 lub ECDSA). Google nie rozróżnia Let’s Encrypt od DigiCert w rankingu. Przeglądarki pokazują tę samą kłódkę. Jedyna różnica: płatny OV/EV wyświetla nazwę firmy w certyfikacie – ale to kwestia wizerunkowa, nie bezpieczeństwa szyfrowania.
Czy muszę odnowić certyfikat ręcznie co 90 dni?
Nie – Certbot (VPS) i AutoSSL (hosting) odnawiają automatycznie. Certbot ustawia cron job przy instalacji: certbot renew uruchamia się 2x dziennie, sprawdza daty i odnawia gdy do wygaśnięcia zostało <30 dni. Zero ręcznej pracy.
Czy mogę mieć Let’s Encrypt na darmowym hostingu?
Zależy – darmowe hostingi (000webhost, InfinityFree) zwykle NIE obsługują Let’s Encrypt (brak dostępu root, brak Certbot, brak AutoSSL). Płatne hostingi od ~10 zł/mc: prawie wszystkie mają AutoSSL z Let’s Encrypt. Za 10 zł/mc masz: hosting + domena (gratis rok) + Let’s Encrypt SSL + backup.
Let’s Encrypt vs Cloudflare SSL – co wybrać?
Oba darmowe. Let’s Encrypt: certyfikat na Twoim serwerze (end-to-end encryption). Cloudflare Universal SSL: certyfikat na Cloudflare (szyfrowanie użytkownik ↔ Cloudflare, ale Cloudflare ↔ serwer wymaga osobnego certyfikatu). Najlepsza konfiguracja: Let’s Encrypt na serwerze + Cloudflare jako CDN z SSL Full (strict) = pełne szyfrowanie na obu trasach.
Ile stron/domen obsługuje Let’s Encrypt?
Bez limitu – możesz mieć certyfikat Let’s Encrypt na dowolnej liczbie domen. Jeden certyfikat może obejmować do 100 domen (SAN – Subject Alternative Name). Limity dotyczą częstotliwości wydawania (50 per domenę per tydzień), nie liczby domen.






