HTTPS a SSL na Joomle správne (a ako sa zbaviť „mixed content")

HTTPS a SSL na Joomle správne (a ako sa zbaviť „mixed content")
Ilustračné foto: vytvorené umelou inteligenciou (AZOIA)

HTTPS už nie je nadštandard — bez neho ti prehliadač web označí ako nedôveryhodný, Google ho znevýhodní a prihlasovacie údaje cestujú otvorene.

Dobrá správa: certifikát je zadarmo a nasadenie je otázka pár krokov. Poďme to spraviť tak, aby zelený zámok naozaj svietil na celom webe.

1. Získaj certifikát (zadarmo)

Let's Encrypt je bezplatný a na CloudPaneli (aj u väčšiny hostingov) sa vydá jedným klikom a automaticky sa obnovuje. Nemusíš nič platiť ani ručne predlžovať.

2. Vynúť HTTPS

Aby web nefungoval aj po nezabezpečenom http://, presmeruj všetko na https://:

  • Serverovo (lepšie) — 301 z HTTP na HTTPS priamo v nginx/Apache. Rýchle a spoľahlivé.
  • V JoomleGlobal Configuration → Server → Force HTTPS → Entire Site. Funguje, ale serverové presmerovanie je čistejšie.

Ideálne oboje: server presmeruje, Joomla poistí.

3. Vyrieš „mixed content" — najčastejší zádrhel

Typický príbeh: zámok je, ale prehliadač hlási „nie je úplne bezpečné". Príčina: časť stránky sa načítava po HTTP — obrázok, skript alebo štýl s natvrdo napísanou adresou http://…. Prehliadač to považuje za dieru.

Kde to hľadať: - v článkoch — obrázky vložené s http:// adresou, - v šablóne a moduloch — natvrdo zadané odkazy na zdroje, - externé skripty načítané po HTTP.

Riešenie: nahraď http:// za https:// (alebo relatívne adresy). Pri väčšom webe pomôže hromadná oprava v databáze — ale najprv záloha.

4. Dokonči to poriadne

  • Skontroluj kanonickú verziu — web nech beží len na jednej (https, a buď www alebo bez www), druhú presmeruj. Inak máš obsah „nadvakrát".
  • Search Console — pridaj HTTPS verziu a over, že Google indexuje ju.
  • HSTS (voliteľne, pre pokročilých) — povie prehliadaču, nech sa už nikdy nepokúša o HTTP.

Keď je HTTPS nasadené správne, je to neviditeľné — a presne tak to má byť. Viditeľné je len to, keď chýba.


Súvisiace: Security checklist · CloudPanel + nginx