Rozwiązywanie problemów z certyfikatami SSL i ServBay CA
Ten dokument opisuje najczęstsze problemy związane z certyfikatami SSL oraz ServBay CA w środowisku lokalnym ServBay, a także sposoby ich rozwiązywania.
Dlaczego przeglądarka informuje, że certyfikat SSL nie jest zaufany?
Jeśli podczas próby otwarcia lokalnej strony hostowanej przez ServBay w przeglądarce pojawiają się ostrzeżenia jak poniżej, oznacza to najczęściej, że występuje problem z konfiguracją certyfikatu SSL:
- Chrome / Edge:
Your connection is not private
(Twoje połączenie nie jest prywatne)- Kod błędu
NET::ERR_CERT_AUTHORITY_INVALID
- Kod błędu
NET::ERR_CERT_COMMON_NAME_INVALID
(rzadziej, ale występuje przy niedopasowaniu certyfikatu z nazwą domeny)
- Firefox:
Warning: Potential Security Risk Ahead
(Ostrzeżenie: Potencjalne zagrożenie bezpieczeństwa)- Po kliknięciu „Zaawansowane” może pojawić się kod błędu
SEC_ERROR_UNKNOWN_ISSUER
- Kod błędu
SSL_ERROR_BAD_CERT_DOMAIN
(przy niedopasowaniu certyfikatu z nazwą domeny)
- Safari:
This Connection Is Not Private
(To połączenie nie jest prywatne)Safari can't verify the identity of the website "your-domain.test"
(Safari nie może zweryfikować tożsamości strony „twoja-domena.test”)
Najczęstszą przyczyną tych problemów jest brak poprawnej instalacji lub zaufania dla ServBay User CA
i ServBay Public CA
. Może to wynikać z:
- Certyfikat główny ServBay nie został dodany do listy zaufanych certyfikatów w systemie.
- Wykorzystano tę samą nazwę domeny (np.
myapp.test
) w innych środowiskach, takich jak MAMP czy Laravel Herd, co mogło spowodować konflikt certyfikatów lub błędne informacje o zaufaniu w przeglądarce.
Rozwiązanie
Wykonaj poniższe kroki:
- Otwórz ServBay
- Przejdź do Ustawienia (Settings) i znajdź sekcję ServBay Root CA.
- Kliknij Zainstaluj ponownie ServBay Root CA (Reinstall ServBay Root CA). ServBay spróbuje automatycznie naprawić problem z instalacją i zaufaniem certyfikatu głównego.
- Zamknij całkowicie i ponownie uruchom przeglądarkę (upewnij się, że wszystkie okna i procesy przeglądarki są zamknięte – to usunie zbuforowany stan SSL).
- Odwiedź ponownie swoją stronę. Błąd certyfikatu SSL powinien zniknąć.
Jeśli problem nadal występuje:
Zwykle oznacza to obecność starych, konfliktowych lub nieprawidłowych certyfikatów w systemie – zwłaszcza, jeśli wcześniej używano innych narzędzi (np. MAMP lub Herd) do generowania certyfikatów dla tej samej domeny.
- Otwórz narzędzie zarządzania certyfikatami w systemie:
- macOS: Uruchom aplikację Keychain Access (Znajdziesz ją w „Aplikacje” > „Narzędzia”).
- Windows: Wciśnij Win+R, wpisz
certmgr.msc
i naciśnij Enter, aby otworzyć Menedżer Certyfikatów.
- W prawym górnym polu wyszukiwania wpisz nazwę problematycznej domeny (np.
myapp.test
– możesz też spróbować wyszukiwaćmamp
czyherd
). - U góry, w „Typach”, wybierz Certyfikaty (Certificates).
- W wynikach znajdź wszystkie certyfikaty powiązane z wprowadzoną domeną. Zwróć szczególną uwagę na wystawcę (Issuer) – czy jest to
ServBay User CA
,MAMP Development CA
,Laravel Herd CA
lub podobne. - Zaznacz podejrzane certyfikaty związane z domeną (szczególnie te nie wydane przez
ServBay User CA
lub wyglądające na nieprawidłowe) i usuń je klawiszemDelete
. Może być wymagane podanie hasła administratora. Bądź ostrożny i kasuj tylko te certyfikaty, które dotyczą lokalnych domen developerskich! - (Opcjonalnie, polecane) W Keychain Access wyszukaj również
ServBay User CA
iServBay Public CA
– sprawdź, czy istnieją i nie mają czerwonego „X” (brak zaufania). Jeśli pojawi się czerwony krzyżyk, kliknij dwukrotnie certyfikat, rozwiń sekcję „Zaufanie (Trust)” i ustaw „Zawsze ufaj (Always Trust)”. - Wróć do aplikacji ServBay.
- Przejdź do Ustawienia (Settings) -> ServBay Root CA.
- Kliknij Rekreuj wszystkie certyfikaty ServBay User (Recreate All ServBay User Certificates) – ServBay wygeneruje nowe certyfikaty SSL dla wszystkich zarządzanych stron.
- Uruchom ponownie komputer. Pozwoli to mieć pewność, że wszystkie komponenty i usługi załadują najnowsze ustawienia dotyczące certyfikatów oraz zaufania.
- Uruchom ponownie przeglądarkę i spróbuj ponownie otworzyć swoją stronę.
Dzięki podanym typowym komunikatom błędów użytkownicy łatwiej rozpoznają, czy ich problem dotyczy zaufania certyfikatu SSL i mogą od razu zastosować właściwe rozwiązanie.
Co zrobić, gdy zgubiłem certyfikat SSL?
Podczas pracy z ServBay może się zdarzyć, że pliki certyfikatu SSL dla lokalnej strony przypadkowo zostaną skasowane. Spowoduje to, że serwer WWW (np. Nginx, Caddy czy Apache) nie uruchomi się lub nie załaduje strony poprawnie, a w logach pojawią się komunikaty o błędach dotyczących certyfikatów.
Opis problemu
Jeśli automatycznie wygenerowany przez ServBay certyfikat SSL (.crt
oraz .key
) zostanie usunięty, prawdopodobnie zobaczysz w logach błędy informujące o niemożności odnalezienia lub odczytania pliku certyfikatu.
Przykładowe wiadomości o błędach:
Błąd Nginx:
log
nginx: [emerg] cannot load certificate "/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/Applications/ServBay/ssl/private/tls-certs/servb3ay.host/servbay.host.crt, r) error:10000080:BIO routines::no such file)
nginx: configuration file /Applications/ServBay/package/etc/nginx/nginx.conf test failed
1
2
2
Błąd Caddy:
log
Error: loading http app module: provision http: getting tls app: loading tls app module: provision tls: loading certificates: open /Applications/ServBay/ssl/private/tls-certs/servbay.host/ser3vbay.host.crt: no such file or directory
1
Błąd Apache:
log
AH00526: Syntax error on line 15 of /Applications/ServBay/package/etc/apache/vhosts/servbay.host.conf:
SSLCertificateFile: file '/Applications/ServBay/ssl/pri3vate/tls-certs/servbay.host/servbay.host.crt' does not exist or is empty
1
2
2
Wspólnym mianownikiem tych komunikatów jest to, że wskazana ścieżka pliku certyfikatu SSL jest nieprawidłowa – plik nie istnieje lub nie można go otworzyć.
Rozwiązanie
W przypadkach, gdy certyfikat SSL dla lokalnej strony został wygenerowany automatycznie przez ServBay, aplikacja ServBay oferuje funkcję automatycznego wykrywania i ponownego wystawiania certyfikatu.
Postępuj zgodnie z poniższymi krokami:
- Uruchom aplikację ServBay: Upewnij się, że ServBay jest aktywny.
- Przejdź do listy stron: W lewym menu aplikacji ServBay kliknij Strony.
- Wybierz stronę z problemem: Odnajdź stronę, dla której brakuje certyfikatu SSL, i kliknij jej nazwę.
- Automatyczne wykrycie i ponowne wystawienie: Przy ładowaniu konfiguracji strony ServBay sprawdza, czy wymagane pliki SSL (np.
.crt
lub.key
) istnieją. Jeśli ich brakuje, automatycznie wygeneruje i wdroży nowe certyfikaty do katalogu (/Applications/ServBay/ssl/private/tls-certs/twoja-domena/
). - Uruchom ponownie serwer WWW: Po wygenerowaniu i wdrożeniu nowego certyfikatu uruchom ponownie wybrany pakiet serwera WWW (Nginx, Caddy lub Apache), aby załadował nowe pliki certyfikatów. Zrobisz to w zakładce Pakiety w menu, klikając przycisk restartu obok wybranego serwera (ikona strzałek w kółku).
- Sprawdź czy problem został rozwiązany: Po resecie serwera spróbuj otworzyć lokalną stronę przez HTTPS (np.
https://twoja-domena
). Problem powinien być rozwiązany i strona powinna działać przez bezpieczne połączenie HTTPS.
Wskazówki
- Opisane rozwiązania dotyczą certyfikatów SSL automatycznie wystawianych przez ServBay. W przypadku własnych, importowanych certyfikatów, ServBay nie przywróci ich automatycznie – musisz samodzielnie odszukać lub odnowić pliki certyfikatów.
- ServBay używa własnej ServBay User CA do wydawania certyfikatów dla lokalnych stron i umożliwia korzystanie z HTTPS w lokalnym środowisku. Jeżeli nadal napotykasz na komunikat o niezaufanym certyfikacie w przeglądarce, sprawdź czy ServBay User CA jest zaufany w systemie/przeglądarce. Instrukcje znajdziesz w dokumentacji ServBay dotyczącej zarządzania lokalnym certyfikatem root CA.
- ServBay oferuje funkcję backupu danych, w tym konfiguracji stron i certyfikatów SSL. Regularna kopia zapasowa pozwala szybko przywrócić dane w razie awarii.
Najczęstsze pytania (FAQ)
Q: Dlaczego ServBay automatycznie wystawia certyfikaty SSL dla lokalnych stron?
A: ServBay ma na celu zapewnienie kompletnego środowiska developerskiego. Aby odzwierciedlić produkcyjne warunki i uprościć debugowanie aplikacji HTTPS, ServBay korzysta z wbudowanego ServBay User CA, który automatycznie wystawia certyfikaty SSL dla lokalnych stron.
Q: Czy mogę użyć własnych certyfikatów SSL?
A: Tak, ServBay pozwala na import i użycie własnych certyfikatów SSL (np. wygenerowanych przez ACME/Let's Encrypt). Ten poradnik dotyczy certyfikatów generowanych automatycznie przez ServBay.
Q: Czy ponowne wystawienie certyfikatu jest bezpieczne?
A: Tak, ponowne wystawienie certyfikatu przez ServBay w środowisku lokalnym wykorzystuje ServBay User CA i służy wyłącznie do developmentu oraz testów. Nie wpływa na bezpieczeństwo w internecie.
Podsumowanie
ServBay oferuje wygodne rozwiązania do zarządzania certyfikatami SSL w lokalnym środowisku deweloperskim. W razie przypadkowego usunięcia certyfikatu SSL możesz w prosty sposób automatycznie wykryć i ponownie wystawić certyfikat, by szybko przywrócić dostęp do lokalnej strony przez HTTPS.