V tomto článku se dozvíte:
- Co musíte splnit pro aktivaci HTTPS na webu
- Jak spojení HTTPS vynutit
- Běžné problémy
- Často kladené dotazy
Podmínky provozu webu přes HTTPS
Aby Váš web na webhostingu mohl používat zabezpečené spojení HTTPS, musíte jej nejprve aktivovat v zákaznické administraci webhostingu jedním z těchto způsobů:
- rychlým nastavením podle návodu Webhosting – Rychlé nastavení HTTPS,
- manuálním nastavením podle návodu Webhosting – Manuální nastavení HTTPS, nebo
- nasazením vlastního certifikátu podle Webhosting – Nasazení vlastního SSL certifikátu.
Vynucení HTTPS
Samotné zapnutí HTTPS na webhostingu neznamená, že se web automaticky přepne do zabezpečeného režimu. Po úspěšné aktivaci HTTPS a certifikátu na straně webhostingu ještě nastavte web tak, aby zabezpečené spojení využíval.
V administraci nebo konfiguračním souboru svého webu upravte nastavení tak, aby používal zabezpečené spojení. Volby mohou být různé, patří sem například:
- změna URL webu v nastavení tak, aby začínala https://
- vynucení SSL či HTTPS v nastavení
- nasazení pluginu pro přesměrování na https://
O ideálním způsobu se poraďte nejlépe se svým tvůrcem webu nebo podporou redakčního systému.
Pokud výše uvedené nastavení webu není dostupné nebo nestačí, přidejte do .htaccess souboru (složka www) pravidla pro přesměrování na HTTPS. Tato pravidla zkopírujte a vložte bezprostředně pod existující řádek RewriteEngine On:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
Header set Content-Security-Policy "upgrade-insecure-requests;"
Přidání tohoto kódu může způsobit zablokování našeho instalátoru aplikací. Narazíte-li při instalaci na problém s .htaccess souborem, dočasně jej obnovte a po úspěšné instalaci opět překopírujte automaticky vytvořenou zálohou.
HTTPS u běžných redakčních systémů
- WordPress: změňte obě URL adresy v administraci WordPressu, nabídce Nastavení >> Obecné (podrobný komunitní návod najdete zde).
- Joomla: změňte URL adresu v souboru configuration.php v proměnné public $live_site. Aplikujte .htaccess pravidla výše.
- Prestashop: v administraci webu navigujte na Nastavení obchodu >> Hlavní >> Povolit SSL a zvolte možnost Povolit SSL na všech stránkách.
- Opencart: v administraci webu navigujte na Systém >> Nastavení a zvolte konkrétní obchod. Vyberte záložku Server a zaškrtněte možnost Použít SSL. Aplikujte .htaccess pravidla výše.
- Drupal: Aplikujte .htaccess pravidla výše.
Běžné problémy
Mezi běžné problémy s nastavením HTTPS na webu patří:
Chyba webu po vynucení HTTPS
Problém: Po nastavení HTTPS na webu se zobrazuje chyba 404 Not Found, Not found on Accelerator, nebo jiná hláška o neaktivním HTTPS.
Příčina: Není aktivní HTTPS na samotném webhostingu, nebo ještě nebylo dokončeno propsání aktivace certifikátu. Vzácně může jít o chybu vygenerování certifikátu, přestože systém má informaci, že vše je v pořádku.
Řešení: Ujistěte se, že máte doménu správně přidanou do certifikátu, a že od doby, kdy je podle administrace aktivní, uplynulo aspoň půl hodiny.
Pokud je certifikát v administraci aktivní více než půl hodiny a web pořád nefunguje, zkuste jej znovu načíst bez cache prohlížeče klávesovou zkratkou Ctrl+Shift+R. Pokud ani to nepomůže, kontaktujte podporu prostřednictvím formuláře. Uveďte název webu a kompletní znění nebo snímek obrazovky chybové hlášky.
Rozbitý web – mixed content
Problém: Po nastavení HTTPS na webu přestalo fungovat CSS, nezobrazují se obrázky a jiná média.
Příčina: Používá-li hlavní stránka zabezpečené spojení HTTPS, vnímá prohlížeč všechny zdroje načítané přes protokol HTTP jako potenciálně nebezpečné a blokuje je.
Řešení: Používáte-li vlastní kód, projděte jej a ověřte, že absolutní adresy souborů uvádíte s protokolem HTTPS, a ne HTTP. Například http://domena.tld/obrazek.jpg
opravte na https://domena.tld/obrazek.jpg
.
Používáte-li redakční systém, například WordPress, dohledejte v jeho dokumentaci nebo se doptejte u podpory, jak opravit tzv. Mixed content.
Chyba Google Search Console
Problém: Po vynucení HTTPS pozoruji na GSC chybu upozorňující na přesměrování.
Příčina: Používáte-li v .htaccessu kód RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
, dochází k přesměrování z nezabezpečené verze stránky na zabezpečenou s návratovým kódem 301 (permanentně přesunuto). Některé diagnostické a analytické nástroje to mohou vnímat jako problém.
Řešení: Zkuste problematický kód vyřadit umístěním znaku # na začátek řádku. Důkladně otestujte, jestli tato úprava neporušila správnou funkčnost vynucení HTTPS.
Často kladené dotazy
Otázka: Jak zkontroluji, že HTTPS funguje správně?
Odpověď: Zadejte do prohlížeče adresu Vašeho webu s http (http://domena.tld). Máte-li vše správně nastavené, adresa se automaticky opraví na verzi s https a označí ikonkou zámku. Pokud se to neděje, projděte znova pečlivě kroky návodu, včetně úpravy .htaccess souboru.