SSL w Magento 2 – jak włączyć HTTPS i certyfikat Let's Encrypt
Krok po kroku: instalacja certyfikatu SSL, konfiguracja Base URL, wymuszenie HTTPS i naprawa błędów Mixed Content w Magento 2 i MageOS.
Spis treści
- Dlaczego SSL jest niezbędny w Magento 2?
- Let's Encrypt w planach SMARTX – automatyczna instalacja
- Konfiguracja HTTPS w panelu Magento 2 – krok po kroku
- Wymuszenie HTTPS na poziomie serwera
- Naprawa błędów Mixed Content
- Często zadawane pytania
Dlaczego SSL jest niezbędny w Magento 2?
SSL (HTTPS) w Magento 2 to nie opcja, lecz wymóg techniczny i biznesowy. Certyfikat SSL szyfruje komunikację między przeglądarką klienta a serwerem, chroniąc dane logowania, adresy dostawy i numery kart płatniczych. Magento 2 bez aktywnego HTTPS może odmawiać logowania do panelu administracyjnego lub blokować checkout.
Z perspektywy SEO, Google od lat premiuje strony HTTPS w wynikach wyszukiwania i oznacza strony HTTP jako „Niezabezpieczone" bezpośrednio w pasku adresu Chrome. W e-commerce taki komunikat dramatycznie obniża konwersję. Bramki płatności takie jak Przelewy24, PayU czy Stripe wymagają HTTPS jako warunku technicznego do działania.
Let's Encrypt w planach SMARTX – automatyczna instalacja
SMARTX konfiguruje certyfikat Let's Encrypt automatycznie w ramach procesu uruchamiania sklepu. Certyfikat jest wystawiany na wskazaną domenę i odnawiany automatycznie co 90 dni — bez konieczności ręcznej interwencji.
Jeśli sklep jest dostępny pod domeną główną (np. twojsklep.pl) oraz subdomeną www, certyfikat obejmuje oba warianty (certyfikat SAN lub wildcard). Po wdrożeniu możesz potwierdzić ważność certyfikatu, klikając kłódkę w pasku adresu przeglądarki.
Konfiguracja HTTPS w panelu Magento 2 – krok po kroku
Po zainstalowaniu certyfikatu SSL konieczne jest poinformowanie Magento 2, że sklep działa na HTTPS. Odbywa się to poprzez ustawienie odpowiednich Base URL w konfiguracji.
Przejdź pod adres https://twojsklep.pl/admin. Jeśli SSL działa poprawnie, zobaczysz kłódkę w pasku adresu. Zaloguj się danymi administratora.
W menu bocznym wybierz Sklepy → Konfiguracja → Ogólne → Sieć Web (Stores → Configuration → General → Web).
Rozwiń sekcję Base URLs (Secure). W polu Secure Base URL wpisz adres z HTTPS, np. https://twojsklep.pl/ (ważny ukośnik na końcu). Ustaw Use Secure URLs on Storefront na Tak i Use Secure URLs in Admin na Tak.
Ustaw opcję Auto-redirect to Base URL na wartość Tak (301 Moved Permanently). Dzięki temu odwiedziny przez HTTP będą automatycznie przekierowywane na HTTPS.
Kliknij Zapisz konfigurację (Save Config) w prawym górnym rogu. Następnie przejdź do System → Zarządzanie cache i wyczyść wszystkie typy cache, szczególnie Configuration i Page Cache.
Jeśli masz dostęp SSH, wykonaj: php bin/magento cache:flush, a następnie php bin/magento indexer:reindex dla pewności pełnej aktualizacji.
Wymuszenie HTTPS na poziomie serwera
Oprócz konfiguracji w panelu Magento 2 warto wymóc HTTPS bezpośrednio na poziomie serwera WWW. Daje to szybsze przekierowanie (zanim Magento obsłuży request) i działa jako dodatkowa warstwa bezpieczeństwa.
W środowisku nginx (używanym przez SMARTX) stosuje się blok server nasłuchujący na porcie 80 z przekierowaniem 301:
Możesz zweryfikować działanie przekierowania narzędziem online lub komendą: curl -I http://twojsklep.pl — odpowiedź powinna zwrócić 301 Moved Permanently z nagłówkiem Location: https://twojsklep.pl/.
Naprawa błędów Mixed Content
Mixed Content pojawia się, gdy strona HTTPS ładuje zasoby (obrazy, skrypty, style) przez niezaszyfrowane HTTP. Przeglądarki blokują aktywne zasoby Mixed Content (skrypty, iframe) i wyświetlają ostrzeżenia dla pasywnych (obrazy). Efekt: kłódka SSL nie jest wyświetlana lub pojawia się komunikat ostrzegawczy.
Najczęstsze przyczyny Mixed Content w Magento 2:
- Base Secure URL ustawiony na http:// zamiast https:// (patrz krok 3 powyżej)
- Twarde linki http:// zapisane w bazie danych (np. w opisach produktów, blokach CMS)
- Moduły zewnętrzne ładujące zasoby przez HTTP
- Obrazy wgrywane przez edytor WYSIWYG z adresem HTTP
W przeglądarce Chrome otwórz Narzędzia deweloperskie (F12), przejdź do zakładki Console. Błędy Mixed Content są wyświetlane jako ostrzeżenia z dokładnym adresem URL zasobu.
Przez SSH uruchom komendę Magento: php bin/magento setup:store-config:set --base-url-secure="https://twojsklep.pl/". Następnie użyj narzędzia do masowej zamiany URL w bazie, np. n98-magerun2 sys:store:config:base-url:set lub skrypt SQL: UPDATE core_config_data SET value = REPLACE(value, 'http://', 'https://') WHERE path LIKE '%base_url%'.
Po zmianach w bazie wyczyść wszystkie cache: php bin/magento cache:flush. Sprawdź ponownie konsolę przeglądarki. Powtarzaj do wyeliminowania wszystkich błędów Mixed Content.
Często zadawane pytania
Czy Magento 2 wymaga certyfikatu SSL?
Tak, Magento 2 jest zaprojektowane do pracy z HTTPS. Bez SSL panel administracyjny może odrzucać logowanie, a klienci będą widzieć ostrzeżenia o niezabezpieczonej stronie w przeglądarce. Google od 2018 roku traktuje brak HTTPS jako sygnał negatywny w rankingach. Wszystkie plany Magento 2 i MageOS w smartxhosting.pl obejmują darmowy certyfikat Let's Encrypt instalowany automatycznie.
Co to jest błąd Mixed Content w Magento 2?
Mixed Content to sytuacja, gdy strona HTTPS ładuje zasoby (obrazy, skrypty, CSS) przez niezaszyfrowane HTTP. Przeglądarki blokują lub ostrzegają o takich zasobach. W Magento 2 najczęstszą przyczyną jest Base Secure URL ustawione na HTTP zamiast HTTPS lub twarde linki http:// w bazie danych. Naprawę ułatwia komenda bin/magento setup:store-config:set lub skrypt SQL zamieniający http:// na https:// w tabeli core_config_data.
Jak wymusić HTTPS na całym sklepie Magento 2?
Wymuszenie HTTPS w Magento 2 odbywa się na dwóch poziomach. Po pierwsze w panelu administracyjnym: Sklepy → Konfiguracja → Ogólne → Sieć Web, ustaw Use Secure URLs in Storefront i Use Secure URLs in Admin na Tak oraz Auto-redirect to Base URL na Tak (301 Moved Permanently). Po drugie na poziomie serwera nginx — blok nasłuchujący na porcie 80 powinien zwracać przekierowanie 301 na https://. W planach SMARTX konfiguracja serwera jest wykonywana przez zespół techniczny.
Zobacz też
Potrzebujesz pomocy z SSL w Magento 2?
Zespół smartxhosting.pl skonfiguruje certyfikat SSL i HTTPS w Twoim sklepie Magento 2 lub MageOS. Wszystkie plany obejmują darmowy Let's Encrypt.
Sprawdź plany Magento 2