HTTPS za stovku? Let’s Encrypt skriptem a bez pláče webseidon almanach Lukáš Adámek ICT weby triky a tipy

HTTPS za stovku? Let’s Encrypt skriptem a bez pláče

HTTPS za stovku? Let’s Encrypt skriptem a bez pláče

HTTPS za stovku? Let’s Encrypt skriptem a bez pláče

Platíš pořád SSL certifikát „na jistotu“ a každý rok ti přijde faktura 799 Kč? Přestaň krmit zbytečná CA kila a přejdi na Let’s Encrypt. V tomhle článku to zvládneš za půl hodiny pro Linux i Windows, včetně wildcard domén, cron/Scheduled Task automatizace a hlídacích háčků, aby se ti ostráčkovaný Chrome už nikdy nerozsvítil červeně.



1 · Proč přejít na Let’s Encrypt

  • Zero Kč licence – DV certifikát zdarma, obnova každých 90 dní.
  • Automatizace – žádné ruční klikání v CSR wizardu.
  • Rychlejší SEO – Google preferuje HTTPS; HSTS pomůže Core Web Vitals.
  • Důvěra – certifikát je uznávaný v 99,9 % prohlížečů.
  • DevOps‑friendly – CI/CD job vygeneruje cert při deployi.

2 · Jak funguje ACME: tokeny, challenge, obnova

Let’s Encrypt používá protokol ACME v2:

  1. Klient (Certbot, win‑acme) vygeneruje CSR + klíč.
  2. CA vrátí challenge (HTTP‑01 nebo DNS‑01).
  3. Client publikuje token na webu nebo TXT záznam v DNS.
  4. CA ověří, vystaví certifikát (PEM/PFX).
  5. Klient nasadí a naplánuje obnovu < 60 dní.

Bez ručního mailu, bez PDF formulářů, bez Kafky.


3 · Linux: Certbot + Nginx/Apache (10 minut)

3.1 Instalace

# Debian 12
apt update && apt install certbot python3‑certbot‑nginx -y

3.2 Jednorázové vydání

certbot --nginx -d example.cz -d www.example.cz --redirect --hsts --staple-ocsp
  • --redirect zapne 301 HTTP→HTTPS.
  • --hsts přidá hlavičku max-age=31536000.
  • --staple-ocsp aktivuje cache OCSP, zrychlí hand‑shake.

3.3 Obnova crontab

echo "0 3 * * *  root  certbot renew --quiet --post-hook 'systemctl reload nginx'" \
  > /etc/cron.d/certbot

Každou noc ve 3:00; pokud expira < 30 dní, stáhne nový cert, reloadne Nginx.


4 · Windows Server: win‑acme + IIS (15 minut)

4.1 Stažení a instalace

Invoke-WebRequest `
 https://github.com/win-acme/win-acme/releases/latest/download/win-acme.v2.2.4.1605.x64.pluggable.zip `
 -OutFile wacs.zip
Expand-Archive wacs.zip -DestinationPath C:\Tools\wacs
cd C:\Tools\wacs

4.2 Tichý režim – single site

& ".\wacs.exe" --target iis --host "example.cz" ^
 --store centralssl --centralsslstore "C:\CentralCerts" ^
 --installation iis --validation http-01 ^
 --emailaddress "admin@example.cz" --accepttos ^
 --renewx "days:30"

4.3 Scheduled Task

schtasks /Create /SC DAILY /TN "Renew LE" /TR ^
 '"C:\Tools\wacs\wacs.exe" --renew --baseuri "https://acme-v02.api.letsencrypt.org/"' /ST 02:15

Task běží denně v 02:15, cert uloží jako PFX v C:\CentralCerts a připne k IIS Site. Hotovo.


5 · Wildcard & multi‑SAN certifikáty

5.1 DNS‑01 challenge (BIND, Cloudflare, …)

certbot -a dns-cloudflare --dns-cloudflare-credentials /root/cf.ini \
 -d "*.example.cz" -d example.cz --server https://acme-v02.api.letsencrypt.org/directory

Token se zapíše do TXT záznamu, platí 90 dní pro všechny sub‑domény.

5.2 SAN bundle

Let’s Encrypt dovolí až 100 FQDN v jednom certu. Na serveru tak řešíš jediný PFX.


6 · Automatická obnova: cron vs. Scheduled Task

ParametrLinux cronWindows Task
Frekvence*/12 h1× denně
Retry logiccertbot interníwacs –renew kuwo
Post‑hookreload nginxiisreset /noforce
Logování/var/log/letsencryptEvent Log → Applications

Doporučení: nastavit health‑check script, který 1× denně testne HTTPS přes curl -sSI a pošle alert, pokud expiry < 15 dní.


7 · Bezpečnost: HSTS, OCSP Stapling, TLS 1.3

  • HSTS preload – registruj doménu na hstspreload.org.
  • OCSP Stapling – v Nginx ssl_stapling on;; v IIS se zapíná Enable OCSP.
  • TLS 1.3 – Apache 2.4.51+ a Windows Server 2022 už default.
  • Cypher suite – preferuj ECDHE‑ECDSA‑AES128‑GCM‑SHA256.
  • Permissions – certifikáty (PFX) jen NETWORK SERVICE + Administrators.

8 · SEO boost: Core Web Vitals & HTTPS

Google od 2021 penalizuje mixed‑content. Po migraci:

  1. Skenuj http:// linky (grep -R / Search Replace DB).
  2. Zapni 301 redirect na levelu serveru, ne na PHP.
  3. Testni securityheaders.com – A rating cíl.
  4. PageSpeed Insights > 90 bodů díky TLS 1.3 + OCSP Stapling.

9 · Troubleshooting: 10 nejčastějších failů

Rate limit too many certificates for exact set of domains
Počkej 1 h nebo přidej nový SAN.
HTTP‑01 404 Not Found
Webroot chybně; u Nginx musí být location /.well-known/acme-challenge/ → root.
Win‑acme Access Denied při centrál store
SL certificate store musí mít práva IIS AppPool identity.
Wildcard fail – NXDOMAIN
TXT záznam publikuješ na _acme-challenge.example.cz, ne na root.
Chrome stále hlásí „Not secure“
Clear HSTS cache: chrome://net-internals/#hsts.

10 · Case study: Webseidon.cz > 20 domén

Switch z placené RapidSSL WildCard:

MetrikaPředPo migraciRozdíl
Roční náklady3 980 Kč0 Kč‑100 %
Obnova práce45 min (ručně)0 min (auto)‑100 %
PageSpeed mobile8592+7 bodů
Incidenty „cert expired“1/rok0‑100 %

11 · Check‑list před Go‑Live

  • Certifikát platný > 85 dní (openssl x509 -enddate -noout -in fullchain.pem).
  • SSL Labs skóre A min. (90 +).
  • HSTS + preload v response.
  • Redirect HTTP→HTTPS 301 na serveru.
  • Cron/Task log bez chyb posledních 7 dní.
  • Backup privátního klíče do Password Manageru.
  • Firewall: port 80 i 443 otevřen (HTTP‑01 potřebuje 80).
  • DNS TTL 300 s pro rychlé změny.

12 · Závěr

Let’s Encrypt není hipster výstřelek, ale standard. Za stovku ne, za nulu – a přesto získáš šifrování, důvěru a SEO plus. Jeden příkaz na Linuxu, jeden řádek ve Scheduled Tasku na Windows a od‑teď máš hlavu i prohlížeč zelenou. 🤘


Klíčová slova

lets encrypt, https zdarma, win-acme, certbot, ssl certifikát, iis https, automatická obnova, acme script, tls security, linux nginx, windows server ssl, open source

↥ Zpět nahoru

Sdílejte na sítích

Webseidon
Webseidon
Articles: 32