Konfiguracja SSL w sklepie internetowym składa się z dwóch etapów: instalacji certyfikatu na serwerze oraz włączenia HTTPS w samym sklepie. Po instalacji trzeba jeszcze usunąć mixed content i ustawić przekierowanie 301 z HTTP na HTTPS.
Jak zainstalować certyfikat SSL w panelu hostingowym?
Przed zmianami wykonaj kopię plików sklepu i bazy danych. Przydatne będą dwa elementy otrzymane od wystawcy certyfikatu: plik certyfikatu CRT oraz klucz prywatny. W niektórych konfiguracjach potrzebny jest także pakiet urzędu certyfikacji, nazywany certyfikatem pośrednim lub CA Bundle.
- Zaloguj się do panelu hostingowego, na przykład cPanel albo DirectAdmin.
- Otwórz sekcję dotyczącą SSL, zwykle oznaczoną jako „SSL/TLS”, „SSL Certificates” lub „SSL Management”.
- Wybierz zarządzanie witrynami zabezpieczonymi SSL i wskaż właściwą domenę sklepu. Sprawdź ją dokładnie, ponieważ na hostingu współdzielonym certyfikat może zostać przypisany do domyślnego adresu serwera zamiast do domeny sklepu.
- Wklej zawartość certyfikatu CRT oraz klucza prywatnego. Jeśli panel oferuje funkcję automatycznego uzupełniania, użyj jej tylko wtedy, gdy rozpoznaje właściwą domenę i pasujący klucz.
- Uzupełnij pole CA Bundle, jeśli dostawca certyfikatu przekazał taki plik. W wielu panelach dane te są pobierane automatycznie.
- Zapisz konfigurację i sprawdź, czy panel pokazuje certyfikat jako aktywny oraz przypisany do właściwej domeny.
Jeśli certyfikat kupiony w home.pl, na przykład homeSSL, został przypisany do adresu podobnego do serwer1617462.home.pl, a nie do domeny sklepu, poszukaj w panelu opcji zarządzania usługą i przypisania domeny. Gdy nie ma takiej funkcji albo pojawia się błąd, zgłoś sprawę do supportu. Na hostingu współdzielonym znaczenie ma obsługa SNI, czyli mechanizmu pozwalającego przypisać różne certyfikaty do wielu domen działających pod jednym adresem IP.
Metodę instalacji dobierz do możliwości hostingu i rodzaju certyfikatu:
| Metoda | Zalety | Wymagania |
|---|---|---|
| Automatyczna, na przykład Let’s Encrypt | Szybka konfiguracja, brak opłat za certyfikat, możliwość automatycznego odnawiania | Hosting musi obsługiwać automatyczne wystawianie i odnawianie certyfikatów |
| Ręczna, na przykład certyfikat komercyjny | Pełna kontrola nad certyfikatem i możliwość skorzystania ze wsparcia wystawcy | Certyfikat CRT, klucz prywatny, a czasem także łańcuch pośredni |
Po zapisaniu zmian otwórz adres sklepu z przedrostkiem https://. Jeżeli przeglądarka zgłasza niezaufany certyfikat, sprawdź zgodność domeny z certyfikatem, kompletność łańcucha oraz to, czy wgrano właściwy klucz prywatny.
Dlaczego kłódka nie pojawia się mimo instalacji certyfikatu?
Sam certyfikat na serwerze nie zmienia automatycznie wszystkich adresów zapisanych w sklepie. Problem mixed content występuje wtedy, gdy strona otwiera się przez HTTPS, ale część obrazów, arkuszy CSS, skryptów lub fontów nadal jest pobierana przez http://. Przeglądarka może wtedy zablokować zasób albo wyświetlić ostrzeżenie zamiast kłódki.
Najpierw otwórz narzędzia deweloperskie przeglądarki i sprawdź zakładkę z błędami bezpieczeństwa. Następnie popraw wskazane adresy w szablonie, modułach i plikach konfiguracyjnych. W PrestaShop lub innym CMS trzeba również zmienić główny adres sklepu na wersję HTTPS.
Jeżeli stare adresy są zapisane w bazie danych, wykonaj kopię zapasową, a następnie użyj bezpiecznego narzędzia do masowej zamiany adresów. Zamień wyłącznie właściwą domenę, na przykład http://twojsklep.pl na https://twojsklep.pl. Nie edytuj bazy bez kopii, ponieważ niektóre systemy przechowują dane w formacie serializowanym i zwykła zamiana może uszkodzić konfigurację.
Jak wymusić HTTPS przez przekierowanie 301?
Po instalacji certyfikatu ustaw przekierowanie z każdej wersji HTTP na odpowiadający jej adres HTTPS. Przekierowanie 301 informuje przeglądarki i roboty, że adres został trwale przeniesiony. Pomaga też ograniczyć duplikację treści między wersjami HTTP i HTTPS.
W przypadku serwera Apache dodaj reguły na początku pliku .htaccess, przed pozostałymi instrukcjami sklepu:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Przed zapisaniem sprawdź, czy hosting korzysta z Apache i czy sklep nie ma już własnych reguł przekierowań. Podwójne reguły mogą powodować pętlę przekierowań. Jeśli serwer działa na Nginx albo platformie SaaS, przekierowanie ustawia się w panelu hostingu lub konfiguracji serwera, a nie w .htaccess.
Czy sklep działa poprawnie po wdrożeniu SSL?
Przed zakończeniem prac przejdź przez poniższą listę kontrolną:
- Certyfikat jest przypisany do właściwej domeny, a nie do domyślnego adresu serwera.
- Adres HTTP przekierowuje na HTTPS kodem 301.
- Nie występują zasoby mixed content, w tym obrazy, skrypty i arkusze stylów ładowane przez HTTP.
- Logowanie, koszyk, formularze i płatności działają w wersji HTTPS.
- Adres sklepu, mapa witryny i plik robots.txt używają właściwej wersji HTTPS.
- W Google Search Console dodano lub zweryfikowano właściwość z adresem HTTPS.
- Odnowienie certyfikatu jest automatyczne albo zapisano termin jego ważności i ustawiono przypomnienie.
Jeśli po tych testach panel nadal przypisuje certyfikat do niewłaściwej domeny, problem zwykle dotyczy konfiguracji hostingu, SNI albo uprawnień usługi. W takiej sytuacji support dostawcy powinien sprawdzić mapowanie certyfikatu na domenę po stronie serwera.