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

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 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).

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 (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:

  1. Żądanie certyfikatu. Klient ACME (Certbot, acme.sh, hosting autoSSL) wysyła żądanie do Let’s Encrypt: „chcę certyfikat dla twojadomena.pl”.
  2. 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.
  3. Wydanie certyfikatu. Challenge przeszedł → Let’s Encrypt wydaje certyfikat (public key + chain) → klient instaluje na serwerze.
  4. 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:

  1. WordPress → Ustawienia → Ogólne: zmień oba URL-e z http:// na https://.
  2. Wymuś HTTPS: w .htaccess dodaj redirect HTTP → HTTPS (lub Cloudflare Always Use HTTPS). Certbot z flagą --nginx lub --apache robi to automatycznie.
  3. 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.

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