Přejít na obsah

Nastavení cookies

Zvolte, které druhy cookies povolíte. Svou volbu můžete kdykoli změnit přes Nastavení cookies v dolní části každé stránky. Prohlášení o ochraně osobních údajů

Nezbytné

Vždy zapnuté

Potřebné pro přihlášení, uchování košíku a zapamatování vašich voleb. Jsou vždy zapnuté.

Které cookies?
  • weboke_sessie, weboke_klant, weboke_remember: vaše relace a trvalé přihlášení
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazení cen s DPH nebo bez DPH
  • wok_cookies: vaše volba cookies, 12 měsíců

Měří, která reklama vede k návštěvě nebo objednávce, abychom neplatili za reklamy, které nic nepřinášejí.

Které cookies?
  • Google Ads přes Google Tag Manager (_gcl_au, _gcl_aw), až 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: partner, který vás k nám doporučil (partnerský program), 60 dní

4,6

Země a jazyk

Každá země má vlastní web s cenami a DPH dané země.

Zobrazit

Https a certifikát

Modul 3: Adresa, https a uživatelé · Doba čtení: 8 minut

Cíl lekce: Po této lekci dokážete web ve WordPressu zcela přepnout na https a budete vědět, co dělá WordPress-adresa a siteadresa.

Klíčové pojmy: TLS, certifikát, Let's Encrypt, automatické prodloužení, WordPress-adresa (siteurl), siteadresa (home), WP_HOME a WP_SITEURL, HSTS, vyloučení z administrace

Co dělá https

Díky https probíhá veškerá komunikace mezi prohlížečem a serverem zašifrovaně: hesla, formuláře, cookies, i běžné stránky. Bez https může kdokoliv ve stejné síti (veřejná wifi, napadený router) komunikaci sledovat, a dokonce stránku i měnit. Prohlížeče zobrazují web bez https jako „nezabezpečený“ a některé funkce (například poloha nebo kamera) fungují jen přes https.

Šifrování se nazývá TLS. Aby prohlížeč ověřil, že skutečně komunikuje s example.com, a ne s prostředníkem, má server certifikát: digitální doklad podepsaný vydavatelem, kterému prohlížeče důvěřují. Certifikát uvádí názvy, pro které platí, a do kdy.

Bezplatné certifikáty a jejich prodlužování

Let's Encrypt vydává bezplatné certifikáty. Téměř každý poskytovatel hostingu si je automaticky vyžádá a také automaticky prodlužuje. Certifikát od Let's Encrypt je nyní platný 90 dní a Let's Encrypt oznámil, že tuto platnost postupně zkrátí na 45 dní. Ruční prodlužování proto není možnost: musí probíhat automaticky.

Placený certifikát nešifruje lépe. Rozdíl je v dodatečném ověření organizace (a někdy v záruce). Pro většinu webů plně postačí bezplatný certifikát.

Na co si dát pozor:

  • Certifikát musí pokrývat každý název, který může návštěvník zadat: example.com i www.example.com. Platí to i pro název, který pouze přesměrovává, protože prohlížeč kontroluje certifikát ještě před přesměrováním.
  • Automatické prodloužení funguje jen tehdy, pokud DNS ukazuje na Váš server. Pokud jste DNS přesunuli nebo před web umístili proxy (například Cloudflare), ověřte, zda prodlužování stále funguje.
  • CAA záznam v DNS může určovat, kteří vydavatelé smí certifikáty vytvářet. Pokud tam Let's Encrypt není uveden, žádost selže (lekce 5.2 kurzu DNS).

Dvě adresy ve WordPressu

V části Nastavení > Obecné najdete dvě adresy. Působí zbytečně duplicitně, ale znamenají něco jiného:

PoleV databáziVýznam
WordPress-adresa (URL)siteurlKde se nacházejí soubory WordPressu (wp-admin, wp-includes)
Siteadresa (URL)homeAdresa, kterou používají návštěvníci

Většinou jsou shodné, například obě https://example.com. Liší se jen tehdy, pokud je WordPress nainstalovaný v podsložce, ale web se má zobrazovat v kořenové složce.

Pomocí těchto adres vytváří WordPress veškeré odkazy: na stránky, styly, obrázky, administraci. Pokud je zde uvedeno http://, WordPress sestaví stránky s odkazy http://, i když návštěvník přistupuje přes https. To způsobuje smíšený obsah (lekce 3.2) a přesměrování tam a zpět.

Přepnutí webu na https

Pokud máte stávající web na http, postupujte takto:

  1. Vyřídit certifikát pro oba názvy a ověřit, že https://example.com funguje (zobrazí se stránka WordPressu, případně ještě bez formátování).
  2. Vytvořit zálohu (lekce 8.1).
  3. Obě adresy v části Nastavení > Obecné nastavit na https:// a uložit. Budete odhlášeni; přihlaste se znovu přes https.
  4. Staré odkazy v obsahu převést z http://example.com na https://example.com. Použijte k tomu nástroj, který rozumí serializovaným datům, například wp search-replace nebo plugin pro hledání a nahrazování (lekce 3.2), nikdy obyčejný SQL příkaz.
  5. Přesměrování: nechte webserver přesměrovat všechny požadavky na http pomocí 301 na https (lekce 3.2). Mnoho poskytovatelů hostingu k tomu má zaškrtávací políčko; jinak stačí pár řádků v .htaccess.
  6. Zkontrolovat pomocí úkolu z této lekce a lekce 3.2.

Vyloučení z administrace: pokud je adresa chybně nastavená

Pokud v adresách uděláte překlep (htps://, chybnou doménu), WordPress Vás po uložení přesměruje na tuto chybnou adresu. Do administrace se již nedostanete. Žádná panika, existují dvě cesty ven:

Přes wp-config.php. Vložte nad řádek „to je vše, od tohoto místa by neměly být žádné úpravy“ (stop s úpravami):

define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );

Tyto řádky mají přednost před hodnotami v databázi. Pole v části Nastavení > Obecné se poté zešednou. Přihlaste se, nastavte v databázi správné hodnoty a řádky opět odeberte (nebo je záměrně ponechte, tím zabráníte tomu, aby někdo adresu omylem změnil přes administraci).

Přes phpMyAdmin. Otevřete tabulku wp_options a upravte hodnoty siteurl a home.

HSTS: aby si to prohlížeč zapamatoval

Pomocí hlavičky HSTS (Strict-Transport-Security) sdělí server prohlížeči: „příští dobu sem přistupuj pouze přes https.“ Prohlížeč pak sám každé http:// převede na https://, aniž by nejdřív poslal nezabezpečený požadavek.

Strict-Transport-Security: max-age=31536000; includeSubDomains

HSTS je dobrý doplňkový krok, ale s upozorněním: prohlížeč, který HSTS už viděl, poté odmítne web otevřít bez platného certifikátu, a to i bez možnosti „přesto pokračovat“. S parametrem includeSubDomains to platí pro každou subdoménu. Pokud máte subdoménu bez certifikátu (například starý interní systém), po nastavení HSTS bude nedostupná. Začněte proto s krátkou hodnotou max-age (například jeden den, 86400), vše zkontrolujte a teprve poté ji prodlužte.

V praxi: jak to vypadá v panelu

Jako příklad použijeme DirectAdmin. V cPanelu se tato část jmenuje SSL/TLS Status (AutoSSL), v Plesku SSL/TLS Certificates.

  1. Otevřete SSL certifikáty u své domény a zvolte Bezplatný a automatický certifikát od Let's Encrypt.
  2. Zaškrtněte example.com a www.example.com a certifikát vyžádejte.
  3. V nastavení domény zaškrtněte možnost vždy přesměrovat návštěvníky na https (u DirectAdmin: Vynutit SSL s přesměrováním https). Použijte jen jeden způsob přesměrování: dva různé současně mohou způsobit smyčku („příliš mnoho přesměrování“).
  4. Ve WordPressu přejděte do části Nastavení > Obecné a obě adresy nastavte na https://.

Shrnutí

  • Https šifruje veškerou komunikaci mezi prohlížečem a serverem; certifikát dokazuje, kdo server je.
  • Bezplatné certifikáty od Let's Encrypt mají krátkou platnost a prodlužují se automaticky; musí pokrývat každý název, který návštěvník zadá.
  • WordPress-adresa (siteurl) i siteadresa (home) musí být obě nastavené na https://.
  • Pokud se kvůli chybné adrese dostanete do vyloučení z administrace, opravte to pomocí WP_HOME a WP_SITEURL v wp-config.php nebo v phpMyAdmin.
  • HSTS je dobrý doplňkový krok; začněte s krátkou platností.

Kvíz

1. Váš web funguje přes https, ale v Nastavení > Obecné jsou obě adresy stále na http://. Co se projeví?



2. Omylem jste uložili siteadresu s překlepem a nemůžete se dostat do administrace. Co pomůže?



3. Proč musí certifikát pokrývat i www.example.com, když tento název jen přesměrovává na example.com?



4. Jaké je riziko HSTS s dlouhou hodnotou max-age a parametrem includeSubDomains?



Úkol

Úkol A3.1: Je Váš certifikát v pořádku? Zadejte adresu svého webu. Program naváže TLS spojení s doménou bez www a s www (pokud existuje) a zkontroluje: je certifikát platný a důvěryhodný, pokrývá obě jména, je platný déle než 14 dní, a odesílá web hlavičku HSTS? Pokud HSTS chybí, zobrazí se to oranžově s vysvětlením, nejde o chybu.

Úkol A3.1: Je Váš certifikát v pořádku?


Co vyplníte a co zjistíme, neukládáme. Váš prohlížeč si pamatuje Vaše odpovědi a to, zda jste úkol splnili. Pokud jste přihlášeni, ukládáme v sekci Moje kurzy pouze to, že jste úkol měli (téměř) správně; i to tam můžete odstranit.

Doporučená literatura

Tyto články popisují postup v panelech WebOké; v jiných panelech fungují obdobně.

Chvíli strpení…

Nastavení vašich domén

U každé domény nastavte jmenné servery, propojení s hostingem a to, kdo bude držitelem.

Načítání vašich domén…