HTTPS Analýza

Analyzujte dostupnost HTTPS, chování přesměrování, HSTS a detaily certifikátu

HTTPS

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.

Tipy: na CDN/reverse proxy sjednoťte terminaci TLS a hlavičky; u více vrstev (LB, WAF, CDN) validujte forwardované hlavičky a schéma.
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 preload je 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.czwww.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 includeSubDomainspreload.


Jak poznat nedůvěryhodný web

  • Adresa začíná http:// místo https://, 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)

  1. Připravte si přístup do hostingu a ke správě domény. Budete potřebovat adresu domény a přihlašovací údaje.
  2. Zapněte certifikát v hostingu (sekce SSL/TLS). Vyberte bezplatný certifikát (např. Let’s Encrypt) a zahrňte i www variantu.
  3. 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://.
  4. Opravte „smíšený obsah“: ujistěte se, že obrázky, skripty i styly načítáte přes HTTPS. Vyčistěte cache webu.
  5. Aktivujte HSTS až po ověření: začněte kratším max-age (např. 3 hodiny), pak prodlužte. includeSubDomainspreload přidejte až když vše funguje.
  6. 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ář.
  7. 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?
HTTPS je protokol pro bezpečný přenos dat mezi prohlížečem a serverem pomocí TLS. Chrání údaje před čtením a změnou po cestě a ověřuje, že komunikujete se správným serverem.
Je HTTPS zdarma?
Ano. Většina hostingů nabízí bezplatné certifikáty (např. Let’s Encrypt) s automatickou obnovou. Ujistěte se, že certifikát pokrývá i www i kořenovou doménu.
Co je HSTS, includeSubDomains a preload?
HSTS nutí prohlížeč používat pro danou doménu pouze HTTPS po dobu 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?
Web používá 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í?
Jen pokud doméně důvěřujete: v Chrome otevřete Rozšířené a zvolte Přejít na … (nebezpečné). Ve Firefoxu použijte RozšířenéPřidat výjimku…. Nikdy nezadávejte hesla ani platby bez HTTPS.
Jak opravit smíšený obsah?
Upravte všechny odkazy na obrázky, skripty a styly na 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: 22. 10. 2025