Web beží len na nešifrovanom HTTP

Čo to je

Váš web odpovedá na http://, ale na https:// už nie. Buď je port 443 zatvorený, alebo na ňom nebeží webový server. Návštevníci komunikujú s vaším webom v čitateľnej podobe — bez šifrovania.

Prečo je to problém

Bez HTTPS putuje všetka komunikácia cez sieť otvorene. Heslá, cookies, obsah formulárov, čísla kariet — ktokoľvek medzi vami a návštevníkom (poskytovateľ Wi-Fi, ISP, hostingový sused) to môže čítať aj meniť za pochodu.

Druhý problém je dôveryhodnosť. Chrome aj Firefox dnes web bez HTTPS viditeľne označujú ako nezabezpečený. SEO za to tiež platíte — Google radí HTTPS weby vyššie od roku 2014.

Ako to opraviť

Krok 1 — získať certifikát

Pre väčšinu webov stačí Let’s Encrypt. Je zadarmo, automaticky sa obnovuje, podporujú ho všetky moderné prehliadače.

Krok 2 — presmerovať HTTP → HTTPS

Aby si nikto nepamätal staré http:// URL, server musí každého návštevníka presmerovať natrvalo (HTTP 301) na verziu HTTPS.

# nginx
server {
    listen 80;
    server_name example.cz www.example.cz;
    return 301 https://$host$request_uri;
}

Krok 3 — zapnúť HSTS

Hlavička HSTS povie prehliadaču „na tento web už nikdy nechoď cez HTTP“. Podrobnosti pozri Strict-Transport-Security.

Referencie