HTTPS Analýza
Analyzujte dostupnost HTTPS, chování přesměrování, HSTS a detaily certifikátuHTTPS
Stručně: na této stránce si ověříte, zda má váš web správně nasazené HTTPS, porozumíte mu (vysvětlení pro různé publikum), uvidíte časté chyby a jak je opravit, dostanete jednoduchý návod jak HTTPS nasadit a doporučení pro IT (bezpečnostní hlavičky a ukázky konfigurace). Nechybí FAQ a odkazy na související analýzy.
Co je HTTPS a proč na něm záleží
HTTPS je způsob, jak bezpečně posílat data mezi prohlížečem a webem pomocí šifrování. Důležité je, že data po cestě nikdo nečte ani nemění, což zvyšuje důvěru i bezpečí.
Pro běžné používání
HTTPS chrání přihlašování, formuláře i platební údaje. Prohlížeče weby bez HTTPS znevýhodňují: mohou zobrazovat varování, vyhledávače je hůře hodnotí a některé funkce bez HTTPS vůbec nefungují. Dnes je to standard — rychlé, často zdarma (např. Let’s Encrypt) a automatické.
Technické shrnutí pro IT
HTTPS = HTTP přes TLS. Cíl: důvěrnost, integrita a autenticita serveru. Preferujte TLS 1.3 (2018) — fallback TLS 1.2 (2008), moderní šifry a silné klíče (ECDSA P‑256/P‑384, případně RSA ≥ 2048 bitů). Certifikát s platným řetězcem a SAN pro všechny domény. Aktivujte ALPN (HTTP/2, případně HTTP/3), OCSP stapling a SNI. Vynucujte 301 z HTTP na HTTPS a kanonické URL.
HSTS (Strict-Transport-Security) zavádějte postupně: krátký max-age (např. 3 hodiny),
poté dny/týdny; includeSubDomains až když máte pokryté subdomény; preload až jako poslední krok.
Pohlídejte smíšený obsah, správné CAA, ACME automatizaci (HTTP‑01/DNS‑01) a bezpečnostní hlavičky.
HSTS v praxi: princip, zapnutí, návrat
Princip: po prvním načtení přes HTTPS si prohlížeč zapamatuje, že doména smí pouze HTTPS po dobu max-age.
Volby: includeSubDomains (platí i pro subdomény) a preload (zápis do globálního seznamu prohlížečů).
# Apache
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
# Nginx
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains; preload" always;
Jak „vrátit zpět“ (pro test/opravy):
- Nastavte dočasně menší
max-age(např. 300) a naservírujte ho přes HTTPS všem návštěvníkům. - Vymažte stav u uživatele: smazat data webu (vč. cookies) a restartovat prohlížeč. Některé prohlížeče mají nástroj pro „HSTS state“.
- U
preloadje odstranění ze seznamu dlouhodobé a závisí na release cyklu prohlížečů.
Pozn.: konkrétní postupy a UI se liší mezi prohlížeči a verzemi.
Ukázky konfigurace (Apache 2.4, Apache 2.2, Nginx)
Pozn.: ukázky berte jako výchozí — CSP nastavujte postupně a testujte.
Apache 2.4 (2012+) — .htaccess / vhost
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "geolocation=(), camera=()"
Header always set Content-Security-Policy "upgrade-insecure-requests; default-src 'self'"
Apache 2.2 (2005–2017) — .htaccess / vhost
Header set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
Header set X-Content-Type-Options "nosniff"
Header set Referrer-Policy "strict-origin-when-cross-origin"
Header set Permissions-Policy "geolocation=(), camera=()"
Header set Content-Security-Policy "upgrade-insecure-requests; default-src 'self'"
Nginx (server block)
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains; preload" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "geolocation=(), camera=()" always;
add_header Content-Security-Policy "upgrade-insecure-requests; default-src 'self'" always;
Doporučené bezpečnostní hlavičky (pro IT)
| Hlavička | Ukázka / poznámka |
|---|---|
Strict-Transport-Security |
max-age=15552000; includeSubDomains; preload — přidávejte postupně. |
Content-Security-Policy |
upgrade-insecure-requests, definujte zdroje (default-src, script-src, …). |
Referrer-Policy |
Např. strict-origin-when-cross-origin. |
X-Content-Type-Options |
nosniff. |
Permissions-Policy |
Omezte rozhraní prohlížeče (kamera, geolokace apod.). |
Zkratky a pojmy
- HTTPS — Hypertext Transfer Protocol Secure: HTTP přes TLS; zabezpečený protokol pro přenos webového obsahu.
- TLS — Transport Layer Security: kryptografický protokol zajišťující šifrování a integritu spojení.
- ALPN — Application‑Layer Protocol Negotiation: vyjednání HTTP/2/HTTP/3 nad TLS.
- SNI — Server Name Indication: jméno hostitele v TLS handshaku pro výběr správného certifikátu.
- OCSP stapling — Online Certificate Status Protocol: server přikládá stavovou odpověď CA pro rychlou kontrolu platnosti certifikátu.
- SAN — Subject Alternative Name: rozšíření certifikátu s dalšími doménami (musí pokrývat všechny varianty).
- ACME — Automated Certificate Management Environment: automatizovaná obnova certifikátů (např. Let’s Encrypt).
- CSP — Content‑Security‑Policy: politika pro zdroje na stránce, pomáhá omezit smíšený obsah a zmírnit XSS.
- CAA — Certification Authority Authorization: DNS záznam, který určuje, která CA smí vydávat certifikát pro doménu.
Časté chyby u HTTPS
Smíšený obsah
Stránka je načtena přes HTTPS, ale některé obrázky, skripty nebo styly jedou přes HTTP. Prohlížeč pak obsah blokuje nebo varuje. Opravte URL zdrojů na HTTPS.
Chybějící varianta v certifikátu
Certifikát nepokrývá www nebo kořenovou doménu. Zahrňte do certifikátu obě varianty (např. example.cz i www.example.cz).
Nevynucené přesměrování
Adresy na HTTP se nepřesměrovávají trvale (301) na HTTPS. Zapněte přesměrování v hostingu nebo serverové konfiguraci a držte jednotné kanonické URL.
Předčasný HSTS preload
HSTS s preload je nevratné, dokud nevyprší max-age. Nejprve ověřte bezchybné přesměrování a HTTPS na subdoménách, teprve pak zvažte includeSubDomains a preload.
Jak poznat nedůvěryhodný web
- Adresa začíná
http://místohttps://, nebo prohlížeč zobrazuje výstrahy o nezabezpečeném připojení. - Chyby certifikátu: vypršel, neodpovídá doméně, vydala neznámá autorita, nebo je podepsaný autorem webu (self‑signed), tzn. nedůvěryhodnou autoritou.
- Varování o smíšeném obsahu (na stránce se načítají části přes HTTP).
- Podezřelé doménové jméno (překlepy, cizí znaky, neobvyklé koncovky) a požadavky na citlivé údaje.
Pokročilé: přesto pokračovat (na vlastní riziko)
Toto používejte jen pokud doméně důvěřujete a chápete rizika (např. interní testovací systémy):
- Chrome: na chybové stránce otevřete Rozšířené a zvolte Přejít na … (nebezpečné).
- Firefox: Rozšířené → Přidat výjimku… (uloží dočasnou výjimku pro certifikát).
- Obecně: nikdy nezadávejte hesla ani platební údaje, dokud není HTTPS v pořádku.
Jak nastavit HTTPS na své doméně (jednoduše)
- Připravte si přístup do hostingu a ke správě domény. Budete potřebovat adresu domény a přihlašovací údaje.
- Zapněte certifikát v hostingu (sekce SSL/TLS). Vyberte bezplatný certifikát (např. Let’s Encrypt) a zahrňte i www variantu.
-
Vynucení HTTPS: zapněte přesměrování z HTTP na HTTPS. Většina hostingů má přepínač; u CMS lze použít plugin nebo nastavení „Site URL“ na
https://. - Opravte „smíšený obsah“: ujistěte se, že obrázky, skripty i styly načítáte přes HTTPS. Vyčistěte cache webu.
-
Aktivujte HSTS až po ověření: začněte kratším
max-age(např. 3 hodiny), pak prodlužte.includeSubDomainsapreloadpřidejte až když vše funguje. - Ověřte výsledek: spusťte analýzu výše, zkontrolujte platnost certifikátu, přesměrování a HSTS. Vyzkoušejte web v mobilu i na Wi‑Fi mimo kancelář.
- Automatická obnova: ujistěte se, že se certifikát obnovuje sám (obvykle každých 60–90 dnů). Zapněte notifikace v hostingu.
Časté dotazy (FAQ)
Co je HTTPS?
Je HTTPS zdarma?
www i kořenovou doménu.
Co je HSTS, includeSubDomains a preload?
max-age. includeSubDomains rozšiřuje pravidlo na všechny subdomény. preload zapisuje doménu do seznamu v prohlížečích, takže platí HTTPS už od první návštěvy.
Proč vidím „Nezabezpečeno“ nebo chybu certifikátu?
http://, certifikát je neplatný nebo neodpovídá doméně, případně je na stránce smíšený obsah. Zapněte HTTPS, opravte certifikát a načítejte všechny zdroje přes HTTPS.
Jak mohu výjimečně pokračovat přes varování?
Jak opravit smíšený obsah?
https://. V CMS aktualizujte URL webu a vyčistěte cache. Využijte hlavičku Content‑Security‑Policy: upgrade-insecure-requests jako pomocného berličku.
Související
Poslední aktualizace: 18. 3. 2026