Witryna działa tylko na nieszyfrowanym HTTP

Co to jest

Twoja witryna odpowiada na http://, ale na https:// już nie. Albo port 443 jest zamknięty, albo nie działa na nim serwer WWW. Odwiedzający komunikują się z Twoją witryną w czytelnej postaci — bez szyfrowania.

Dlaczego to problem

Bez HTTPS cała komunikacja wędruje przez sieć otwartym tekstem. Hasła, cookies, zawartość formularzy, numery kart — każdy między Tobą a odwiedzającym (dostawca Wi-Fi, ISP, sąsiad na hostingu) może to czytać, a nawet zmieniać w locie.

Drugi problem to wiarygodność. Chrome i Firefox dzisiaj wyraźnie oznaczają witrynę bez HTTPS jako niezabezpieczoną. Płacisz za to także w SEO — Google wyżej pozycjonuje witryny HTTPS od 2014 roku.

Jak to naprawić

Krok 1 — uzyskać certyfikat

Dla większości witryn wystarczy Let’s Encrypt. Jest darmowy, odnawia się automatycznie i wspierają go wszystkie nowoczesne przeglądarki.

Krok 2 — przekierować HTTP → HTTPS

Aby nikt nie pozostał na starych adresach http://, serwer musi na stałe (HTTP 301) przekierowywać każdego odwiedzającego na wersję HTTPS.

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

Krok 3 — włączyć HSTS

Nagłówek HSTS mówi przeglądarce „na tę witrynę nigdy więcej nie wchodź przez HTTP”. Szczegóły zob. Strict-Transport-Security.

Źródła