← Wszystkie testy
BezpieczeństwoTypowa waga: Średni

Weryfikator przekierowania na HTTPS

Sprawdza, czy wersja HTTP Twojej strony poprawnie przekierowuje na HTTPS, zamiast serwować bez szyfrowania.

Co sprawdza

Ten test potwierdza, że gdy ktoś odwiedza wersję HTTP twojej strony, serwer przekierowuje go na HTTPS, zamiast serwować stronę bez szyfrowania. Potwierdza, że niezabezpieczone drzwi zawsze prowadzą do bezpiecznej wersji. Obserwuje tylko zachowanie przekierowania.

Dlaczego to ważne

Jeśli wersja HTTP jest serwowana bez zmian, odwiedzający mogą przeglądać twoją stronę bez szyfrowania i nieświadomie wystawić swoje dane. Ułatwia to też ataki, które przechwytują połączenie, zanim dotrze do HTTPS. Poprawne przekierowanie sprawia, że cały ruch kończy jako chroniony.

Jak to naprawić

Skonfiguruj serwer lub hosting tak, aby każde żądanie HTTP wykonywało trwałe przekierowanie na HTTPS. W połączeniu z nagłówkiem HSTS przeglądarka przy kolejnych wizytach od razu przejdzie do bezpiecznej wersji. Wiele platform oferuje to przekierowanie za pomocą jednego pola wyboru.

Jak działa ta kontrola

Scanaris żąda Twojej strony przez http://, bez s, nie podążając za przekierowaniami, i patrzy, co odpowiada serwer. Jeśli zwraca kod przekierowania (301, 302, 307 lub 308) na adres https://, wszystko w porządku. Jeśli odpowiada 200 i serwuje stronę jawnym tekstem, otwiera ustalenie o średniej wadze: niezaszyfrowana wersja Twojej strony istnieje i działa. Jeśli przekierowuje, ale cel to nadal http:// (na przykład z roota na http://www), otwiera ustalenie o niskiej wadze: łańcuch przekierowań ma niezaszyfrowane ogniwo. Testowany jest tylko skanowany adres; zachowanie powinno być takie samo na wszystkich ścieżkach, nie tylko na stronie głównej.

Dlaczego to ważne

Dopóki wersja HTTP odpowiada, każdy stary link, każdy adres wpisany ręcznie i każda publiczna sieć może zaprowadzić użytkownika na Twoją stronę bez szyfrowania. W tym stanie ten, kto kontroluje sieć (wifi na lotnisku, złośliwy dostawca), czyta to, co jest wysyłane, i może zmodyfikować stronę, zanim dotrze. To podstawa ataków man-in-the-middle. Przekierowanie 301 na HTTPS zamyka te drzwi przy pierwszym żądaniu, a HSTS zamyka je dla wszystkich kolejnych.

Jak to naprawić w zależności od hostingu

  • Vercel, Netlify, Cloudflare Pages, Railway, Render: przekierowanie jest włączone fabrycznie. Jeśli widzisz ustalenie, domena zwykle wskazuje na inny serwer albo proxy przed nim odpowiada przez HTTP.
  • Cloudflare jako proxy: włącz „Always Use HTTPS" i ustaw tryb SSL na „Full (strict)". Przy „Flexible" odcinek między Cloudflare a Twoim serwerem idzie jawnym tekstem.
  • nginx:
server {
  listen 80;
  server_name twojadomena.pl www.twojadomena.pl;
  return 301 https://$host$request_uri;
}
  • Apache: w VirtualHost portu 80, Redirect permanent / https://twojadomena.pl/.
  • Express za proxy: middleware, który sprawdza req.headers['x-forwarded-proto'] !== 'https' i odpowiada res.redirect(301, 'https://' + req.headers.host + req.url), z app.set('trust proxy', 1).

Użyj 301 lub 308 (stałych), a nie 302: wyszukiwarki konsolidują autorytet na wersji HTTPS, a przeglądarki zapamiętują skok. Potem dodaj nagłówek HSTS, który mierzy kontrola słaby HSTS, żeby przeglądarka następnym razem nawet nie próbowała HTTP.

Sprawdź, czy naprawione

curl -sI http://twojadomena.pl | grep -iE "^HTTP|^location"
curl -sI http://twojadomena.pl/dowolna-strona | grep -iE "^HTTP|^location"
curl -sI http://www.twojadomena.pl | grep -iE "^HTTP|^location"

Wszystkie trzy muszą odpowiedzieć 301 lub 308 z nagłówkiem Location zaczynającym się od https://. Jeśli drugie nie przekierowuje, Twoja reguła obejmuje tylko stronę główną.

Często zadawane pytania

Czy nie wystarczy mieć włączone HTTPS?

Nie. Posiadanie certyfikatu oznacza, że bezpieczna wersja istnieje; przekierowanie oznacza, że niebezpieczna nie jest używana. Bez niego obie współistnieją.

Dlaczego 301, a nie 302?

302 jest tymczasowe: przeglądarki za każdym razem ponownie żądają wersji HTTP, a wyszukiwarki nie przenoszą autorytetu. 301 (lub 308, które dodatkowo zachowuje metodę) to sygnał, że zmiana jest ostateczna.

Moje API nie potrzebuje HTTPS, korzysta z niego tylko moja aplikacja.

Potrzebuje: przez to API przechodzą tokeny i dane Twoich użytkowników. A jeśli aplikacja wywołuje je przez HTTP ze strony HTTPS, przeglądarka zablokuje je jako mieszaną treść.

Sprawdź to na swojej stronie

Przeskanuj swoją stronę za darmo i zobacz, czy ten i 44 inne testy przechodzą, z promptem naprawczym dla każdego problemu.

Przeskanuj moją stronę za darmo

Z bloga

Powiązane testy