Czym jest SSL i dlaczego moja strona jest oznaczona jako „niezabezpieczona”?
Strona jest oznaczona jako „niezabezpieczona”, gdy połączenie między przeglądarką a Państwa stroną nie jest szyfrowane albo jest szyfrowane tylko częściowo. Jak to zmienić: zainstalować ważny certyfikat SSL wystawiony dla właściwej nazwy hosta, usunąć z kodu strony adresy zaczynające się od http i przekierować cały ruch z http na https. Możliwych przyczyn jest pięć: certyfikatu nie ma, wygasł, został wystawiony dla innej nazwy hosta, strona ładuje elementy przez http albo odwiedzający trafia na wersję http, bo brakuje przekierowania na https.
Co robi certyfikat SSL
Certyfikat SSL szyfruje ruch między odwiedzającym a Państwa serwerem i potwierdza, że przeglądarka rozmawia z właściwym serwerem. Jest potrzebny także na stronie bez formularzy: przeglądarki oznaczają każdą stronę http jako niezabezpieczoną, a wyszukiwarki traktują https jako sygnał.
Najpierw sprawdzić: jaki dokładnie komunikat się pojawia?
Chrome i Edge pokazują pod pełnoekranowym ostrzeżeniem kod. Ten kod wskazuje przyczynę.
- „Niezabezpieczona” na pasku adresu, ale strona ładuje się normalnie – to adres http. Przyczyna 1 lub 5.
- NET::ERR_CERT_DATE_INVALID – certyfikat wygasł albo zegar Państwa urządzenia jest źle ustawiony. Przyczyna 2.
- NET::ERR_CERT_COMMON_NAME_INVALID – certyfikat należy do innej nazwy. Przyczyna 3.
- NET::ERR_CERT_AUTHORITY_INVALID – certyfikat nie pochodzi od uznanego wystawcy. Proszę potraktować to jak przyczynę 1.
- Ostrzeżenie pojawia się tylko na niektórych podstronach albo znikają obrazy i style – treści mieszane. Przyczyna 4.
1. Nie ma certyfikatu
Bez certyfikatu wersja https Państwa strony nie istnieje. Nasze pakiety hostingowe obejmują darmowy certyfikat Let's Encrypt, który odnawia się automatycznie. Taki certyfikat można wystawić dopiero wtedy, gdy domena wskazuje na hosting, bo wystawca najpierw sprawdza, czy nazwa rzeczywiście prowadzi do tego serwera. Jeśli DNS został zmieniony przed chwilą, certyfikatu może jeszcze nie być. Dlaczego to chwilę trwa, wyjaśnia artykuł dlaczego zmiana DNS czasem trwa tak długo. Jeśli potem certyfikat nadal się nie pojawia, prosimy o kontakt.
2. Certyfikat wygasł
Każdy certyfikat ma datę końcową. Certyfikaty Let's Encrypt są celowo ważne krótko i dlatego odnawiają się automatycznie. Odnowienie się nie udaje, gdy domena nie wskazuje już na serwer, na przykład dlatego, że DNS przeniesiono do innego dostawcy. Jeśli ostrzeżenie widzą tylko Państwo, a inni nie, proszę sprawdzić datę i godzinę we własnym urządzeniu: przy źle ustawionym zegarze każdy certyfikat wygląda na nieważny.
3. Certyfikat nie pasuje do nazwy hosta
Certyfikat jest ważny tylko dla nazw, które są w nim wpisane. Jeśli wpisano wyłącznie www.domena.be, a ktoś wchodzi na domena.be, pojawia się ostrzeżenie. To samo dzieje się z subdomeną, której nie ma w certyfikacie, albo tuż po przenosinach, gdy domena wskazuje jeszcze na stary serwer. Proszę kliknąć ostrzeżenie w przeglądarce i obejrzeć certyfikat: w szczegółach widać, dla jakich nazw jest ważny. Powinny się w nim znaleźć oba warianty, z www i bez www.
4. Treści mieszane
Najczęstsza przyczyna, gdy ważny certyfikat jest. Sama strona przychodzi przez https, ale w kodzie źródłowym zostały adresy zaczynające się od http: obraz, skrypt, czcionka. Skrypty i arkusze stylów z takim adresem przeglądarka blokuje; obrazy próbuje sama pobrać przez https i pomija je, jeśli się nie uda. Efektem jest ostrzeżenie albo strona, na której brakuje fragmentów.
- Proszę otworzyć stronę, nacisnąć F12 i zajrzeć do karty Konsola. Przy każdym adresie http widnieje tam Mixed Content.
- WordPress: w Ustawienia → Ogólne proszę ustawić na https zarówno Adres WordPressa, jak i Adres witryny.
- W bazie danych proszę zastąpić stare adresy http własnej domeny adresami https. Najlepiej zrobić to wtyczką typu „znajdź i zamień”, a wcześniej wykonać kopię zapasową.
- Proszę przejrzeć ustawienia motywu, widżety i własny CSS pod kątem adresów wpisanych na sztywno.
- Na koniec proszę wyczyścić cache strony i przeglądarki, inaczej nadal będzie widać stary kod źródłowy. Zobacz czym jest cache.
5. Brak przekierowania z http na https
Instalacja certyfikatu niczego nie zmienia w adresie http: nadal działa, a kto kliknie stary link albo zakładkę, zobaczy „niezabezpieczona”. Dlatego każde żądanie http należy przekierować kodem 301 na https. Na większości hostingów robi się to regułą przepisywania w .htaccess; co robi ten plik, wyjaśnia artykuł co można zrobić z plikiem .htaccess. Potem proszę przetestować cztery adresy: http i https, każdy z www i bez www. Wszystkie cztery muszą kończyć się na tym samym adresie https, bez pętli.
Certyfikat darmowy czy płatny
Szyfrowanie jest takie samo. Dla zwykłej strony darmowy certyfikat w zupełności wystarcza. Płatny dodaje weryfikację Państwa organizacji, a nie mocniejsze szyfrowanie. Poziomy opisujemy na stronie certyfikaty SSL.
Najczęstsze pytania
Czy moja strona została zhakowana, skoro widnieje „niezabezpieczona”?
Nie. Komunikat mówi o połączeniu, a nie o zawartości strony. Zhakowana strona też może mieć ważny certyfikat.
Dlaczego widzę komunikat w telefonie, a w komputerze nie?
Zwykle jedno urządzenie otwiera adres http ze starej zakładki, a drugie adres https. Taki sam efekt daje błędna data w urządzeniu.
Czy mogę zignorować ostrzeżenie i przejść dalej?
Na własnej stronie, żeby znaleźć przyczynę, tak. Proszę nigdy nie wymagać tego od odwiedzających: większość zrezygnuje.
Coś nie działa?
Prosimy przesłać nam przez stronę kontaktową nazwę domeny oraz dokładny komunikat lub kod z przeglądarki. Sprawdzimy, jaki certyfikat przedstawia Państwa strona.