Po przejściu sklepu na HTTPS przestały ładować się obrazy produktów i arkusze CSS w przeglądarce Chrome. Konsola pokazywała setki błędów Mixed Content. Sklep wyglądał na zepsuty. Czas naprawy: 1 godzina.
Objawy
- Po migracji na HTTPS brak stylów CSS i obrazów produktów
- Konsola przeglądarki:
Mixed Content: The page was loaded over HTTPS but requested an insecure resource over HTTP - Kliknięcie na produkty nie otwiera strony produktu
- URL-e mediów w bazie danych zawierają
http://zamiasthttps://
Przyczyna
Baza danych zawierała zapisane URL-e mediów z protokołem HTTP. Magento generowało linki do obrazów, CSS i JS jako HTTP mimo że strona działała już przez HTTPS.
Rozwiązanie
# Zaktualizuj base URL w Magento bin/magento config:set web/unsecure/base_url https://sklep.pl/ bin/magento config:set web/secure/base_url https://sklep.pl/ bin/magento config:set web/secure/use_in_frontend 1 bin/magento config:set web/secure/use_in_adminhtml 1 # Zaktualizuj URL mediów w bazie danych bin/magento config:set web/unsecure/base_media_url https://sklep.pl/media/ bin/magento config:set web/secure/base_media_url https://sklep.pl/media/
-- Zamień http na https w konfiguracji UPDATE core_config_data SET value = REPLACE(value, 'http://sklep.pl', 'https://sklep.pl') WHERE value LIKE '%http://sklep.pl%'; -- Wyczyść cache po zmianie
bin/magento cache:flush bin/magento setup:static-content:deploy -f
Wnioski
Migracja na HTTPS wymaga aktualizacji URL-i w bazie, konfiguracji Magento i sprawdzenia przekierowań. Nginx powinien automatycznie przekierowywać HTTP na HTTPS przez return 301 https://....
