Używanie certyfikatu SSL wydanego przez zewnętrzne CA w ServBay
Podczas lokalnego rozwijania lub testowania w środowisku zbliżonym do produkcyjnego, korzystanie z certyfikatu SSL wydanego przez zaufany urząd certyfikacji (CA) jest kluczowe, aby umożliwić bezpieczny dostęp do Twojej strony przez HTTPS. Jest to szczególnie ważne przy testowaniu funkcjonalności zależnych od HTTPS lub gdy chcesz, by środowisko lokalne jak najwierniej odwzorowywało produkcję. Poniżej znajdziesz szczegółową instrukcję, jak skonfigurować taki certyfikat SSL w środowisku ServBay.
WARNING
Pamiętaj, że certyfikaty SSL wydane przez zewnętrzne CA zazwyczaj obsługują tylko standardowe rozszerzenia domen (np. .com
, .org
, .net
, .cn
itp.) i nie obejmują niestandardowych końcówek (takich jak .local
, .test
, .demo
itd.), ponieważ takie domeny nie mogą zostać publicznie zweryfikowane. Jeśli korzystasz z niestandardowej końcówki domeny w środowisku lokalnym, rozważ użycie wbudowanych rozwiązań ServBay User CA lub ServBay Public CA do generowania zaufanych lokalnych certyfikatów SSL.
Zastosowanie
- Symulacja środowiska produkcyjnego: Dokładne odwzorowanie konfiguracji HTTPS z produkcji i testowanie zachowania strony w warunkach rzeczywistych.
- Testowanie funkcjonalności wymagających HTTPS: Sprawdzanie API czy funkcji przeglądarki wymagających "Secure Context", np. Service Workers, Web Crypto API, Geolokalizacja itd.
- Lokalny backend API: Konfiguracja HTTPS dla lokalnego API backendowego, aby frontend korzystał z bezpiecznego połączenia.
Wymagania wstępne
Przed przystąpieniem do dalszej konfiguracji upewnij się, że:
- Masz zainstalowany oraz uruchomiony ServBay na macOS.
- Znasz podstawy obsługi terminala i poleceń konsoli.
- Posiadajsz zainstalowany pakiet OpenSSL (w systemie macOS zwykle dostępny domyślnie).
Krok 1: Wnioskowanie o certyfikat SSL od zewnętrznego CA
Najpierw musisz pozyskać certyfikat SSL od zaufanej jednostki certyfikującej (np. Let's Encrypt, DigiCert, GlobalSign, Sectigo itp.). Kluczowym etapem tego procesu jest wygenerowanie Zapytania o podpisanie certyfikatu (CSR). Oto jak to zrobić:
Wygeneruj klucz prywatny
Klucz prywatny jest podstawowym elementem służącym do odszyfrowywania połączeń SSL na Twoim serwerze – zadbaj o to, aby pozostał bezpieczny i nie został udostępniony osobom trzecim. W terminalu użyj poniższego polecenia OpenSSL, by wygenerować klucz RSA:
shopenssl genpkey -algorithm RSA -out servbay.demo.key -pkeyopt rsa_keygen_bits:2048
1openssl genpkey
: Polecenie OpenSSL do generowania klucza prywatnego.-algorithm RSA
: Określa, że używany będzie algorytm RSA.-out servbay.demo.key
: Nazwa pliku wyjściowego z kluczem prywatnym.-pkeyopt rsa_keygen_bits:2048
: Długość klucza RSA (zalecane minimum to 2048 bitów).
Wygeneruj Zapytanie o podpisanie certyfikatu (CSR)
CSR to plik zawierający Twój klucz publiczny oraz dane niezbędne do wydania certyfikatu przez CA. Wygeneruj CSR przy użyciu wcześniej utworzonego klucza prywatnego:
shopenssl req -new -key servbay.demo.key -out servbay.demo.csr
1openssl req
: Narzędzie OpenSSL umożliwiające generowanie CSR.-new
: Generowanie nowego zapytania.-key servbay.demo.key
: Plik z kluczem prywatnym, którego używasz do podpisu CSR.-out servbay.demo.csr
: Nazwa pliku wyjściowego z CSR.
Polecenie poprosi Cię o wprowadzenie szeregu informacji. Wprowadź dane zgodnie ze stanem faktycznym lub wymaganiami CA, np.:
Country Name (2 letter code) [AU]:CN # Kod kraju, np. CN (Chiny), US (USA) State or Province Name (full name) [Some-State]:Hong Kong # Województwo/prowincja Locality Name (eg, city) []:Kowloon # Miasto Organization Name (eg, company) [Internet Widgits Pty Ltd]:ServBay # Nazwa firmy/organizacji Organizational Unit Name (eg, section) []:Development # Nazwa działu (opcjonalnie) Common Name (e.g. server FQDN or YOUR name) []:servbay.demo # **Ważne: wpisz pełną domenę, której dotyczy certyfikat (FQDN).** Email Address []:admin@servbay.demo # Adres e-mail (opcjonalnie) Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: # Hasło wyzwania (zazwyczaj puste) An optional company name []: # Opcjonalna nazwa firmy (zazwyczaj puste)
1
2
3
4
5
6
7
8
9
10
11
12Najważniejsze jest prawidłowe wypełnienie pola
Common Name
– wpisz tutaj dokładnie tę domenę, pod którą będzie działać Twoja strona w ServBay (np.servbay.demo
). Jeśli ubiegasz się o certyfikat dla kilku domen (multi-domain/SAN), CA może zaoferować możliwość doprecyzowania dodatkowych domen lub wygenerowania specjalnego CSR z polami SAN – w takich przypadkach postępuj zgodnie z instrukcjami CA lub skorzystaj z ich narzędzi online.Prześlij CSR i uzyskaj certyfikat
Prześlij wygenerowany plik
servbay.demo.csr
do wybranego CA i postępuj zgodnie z procedurą ich weryfikacji domeny (np. przez rekord DNS, plik HTTP lub mail). Po pozytywnej weryfikacji, CA wyda dla Ciebie certyfikat. Otrzymasz zwykle następujące pliki:- Plik główny certyfikatu (np.
servbay.demo.crt
lubservbay.demo.pem
). - Jeden lub więcej certyfikatów pośrednich (np.
intermediate.crt
,ca-bundle.crt
), tworzących łańcuch zaufania. - Certyfikat główny CA (zwykle nie trzeba importować, bo jest już zainstalowany w systemie/ przeglądarce).
- Plik główny certyfikatu (np.
Krok 2: Konfiguracja certyfikatu SSL zewnętrznego w ServBay
Po uzyskaniu certyfikatów od zewnętrznego CA należy zaimportować je do ServBay i prawidłowo skonfigurować, aby Twoja strona działała przez HTTPS.
Zaleca się przechowywanie własnych certyfikatów i kluczy w katalogu /Applications/ServBay/ssl/import/tls-certs/
dla czytelności i wygody zarządzania.
Przenieś pliki klucza i certyfikatów do wskazanego katalogu
Umieść wygenerowany klucz prywatny (
servbay.demo.key
), otrzymany główny certyfikat (servbay.demo.crt
) oraz wszelkie certyfikaty pośrednie (np.intermediate.crt
) w katalogu importu ServBay:shmv servbay.demo.key /Applications/ServBay/ssl/import/tls-certs/ mv servbay.demo.crt /Applications/ServBay/ssl/import/tls-certs/ # Jeśli masz plik z certyfikatem pośrednim, również go przenieś mv intermediate.crt /Applications/ServBay/ssl/import/tls-certs/ # Jeśli otrzymałeś więcej pośrednich certyfikatów, przenieś każdy z nich # mv another_intermediate.crt /Applications/ServBay/ssl/import/tls-certs/
1
2
3
4
5
6Dołącz certyfikaty pośrednie do głównego certyfikatu
Aby przeglądarki prawidłowo rozpoznały cały łańcuch certyfikatów, musisz dołączyć zawartość wszystkich certyfikatów pośrednich na końcu pliku głównego certyfikatu. Kolejność zwykle zaczyna się od certyfikatu głównego, następnie certyfikaty pośrednie w podanej przez CA kolejności, na końcu (opcjonalnie) root CA (najczęściej nie jest to wymagane).
Przykład, jeśli Twój certyfikat pośredni to
intermediate.crt
:shcat intermediate.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt
1Jeśli otrzymałeś kilka plików pośrednich, przestrzegaj kolejności zaleconej przez CA, np.:
shcat intermediate1.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt cat intermediate2.crt >> /Applications/ServBay/ssl/import/tls-certs/servbay.demo.crt
1
2Po tej operacji plik
servbay.demo.crt
powinien zawierać Twój certyfikat oraz cały wymagany łańcuch pośredni.Otwórz panel zarządzania ServBay
Uruchom aplikację ServBay i kliknij w jej ikonę w menu lub Docku, aby przejść do panelu administracyjnego.
Dodaj lub edytuj stronę
W panelu po lewej stronie wybierz sekcję
Strony
.- Aby dodać nową stronę, kliknij przycisk
+
w prawym górnym rogu. - By edytować istniejącą stronę, zaznacz ją na liście i kliknij ikonę edycji (ołówek).
- Aby dodać nową stronę, kliknij przycisk
Skonfiguruj certyfikat SSL
W sekcji SSL konfiguracji strony wybierz typ certyfikatu
Custom
(Własny).- Certificate Key File (Plik klucza prywatnego): Kliknij "Przeglądaj", wskaż katalog
/Applications/ServBay/ssl/import/tls-certs/
i wybierz plik klucza, np.servbay.demo.key
. - Certificate File (Plik certyfikatu): Kliknij "Przeglądaj", wskaż ten sam katalog i wybierz plik główny certyfikatu z dołączonymi certyfikatami pośrednimi, np.
servbay.demo.crt
.
(Uwaga: ścieżka do obrazka jest przykładowa — w praktyce użyj tej z dokumentacji ServBay)
- Certificate Key File (Plik klucza prywatnego): Kliknij "Przeglądaj", wskaż katalog
Ustaw domenę i katalog główny strony
W polu
Domain
(Domena) wpisz dokładnie tę domenę, na którą zamawiałeś certyfikat, np.servbay.demo
. Określ teżDocument Root
(Katalog podstawowy strony), np./Applications/ServBay/www/servbay.demo
.Zapisz i zastosuj konfigurację
Po zakończeniu konfiguracji kliknij "Zapisz". ServBay poprosi o zastosowanie zmian i zrestartowanie odpowiedniej usługi www (Caddy, Nginx lub Apache). Zatwierdź restart.
Sprawdzanie konfiguracji
Po skończeniu konfiguracji spróbuj odwiedzić swoją stronę, np. https://servbay.demo
. Jeśli wszystko przebiegło poprawnie, zobaczysz symbol kłódki obok adresu strony. Kliknięcie na ikonę kłódki umożliwia podejrzenie szczegółów certyfikatu — upewnij się, że jest to certyfikat wydany przez wybrany przez Ciebie urząd CA i że łańcuch certyfikatów jest kompletny.
Jeśli napotkasz problemy, sprawdź:
- Czy domena wpisana w konfiguracji dokładnie zgadza się z Common Name lub SAN certyfikatu.
- Czy ścieżki do klucza i certyfikatu są poprawne.
- Czy plik certyfikatu zawiera każdy pośredni certyfikat — w odpowiedniej kolejności.
- Czy konfiguracja strony w ServBay została zapisana i zastosowana.
- Czy Twój system ufa root CA wystawiającej certyfikat (w przypadku CA zewnętrznych główny certyfikat jest zwykle już zainstalowany).
Ważne wskazówki
- Zgodność domeny: Wgrany certyfikat musi dokładnie pokrywać się z domeną skonfigurowaną w ServBay (w tym subdomeny dla wildcardów).
- Ważność certyfikatu: Certyfikaty mają określony czas ważności — przed jego upływem musisz go odnowić i zaimportować nowe pliki zgodnie z powyższą instrukcją.
- Bezpieczeństwo klucza: Klucz prywatny (
.key
) jest kluczowy dla bezpieczeństwa — przechowuj go w bezpiecznym miejscu, nie udostępniaj nikomu. - Inne opcje SSL w ServBay: ServBay umożliwia alternatywne, szybkie konfiguracje SSL, np.:
- ServBay User CA / Public CA: Do generowania zaufanych, lokalnych certyfikatów dla dowolnych rozszerzeń domen.
- ACME (Let's Encrypt): Dla standardowych domen ServBay potrafi automatycznie uzyskać i odnawiać certyfikaty Let's Encrypt. Opisana tu procedura importu jest przydatna, jeśli certyfikat pozyskałeś poza ServBay.
Najczęściej zadawane pytania (FAQ)
Q1: Otrzymałem plik certyfikatu w formacie .pfx
lub .p12
— jak go użyć w ServBay?
A1: Pliki .pfx
i .p12
zawierają zarówno klucz prywatny, jak i cały łańcuch certyfikatów w jednym pliku. Musisz je rozdzielić za pomocą OpenSSL na osobny plik klucza (.key
) i certyfikatu (.crt
). Przykład:
sh
openssl pkcs12 -in your_certificate.pfx -nocerts -out your_private_key.key -nodes
openssl pkcs12 -in your_certificate.pfx -clcerts -nokeys -out your_certificate.crt
1
2
2
Następnie pobierz i dołącz pośrednie certyfikaty (jeśli nie ma ich w pliku .crt; zwykle CA je udostępnia) – wykonaj to zgodnie z opisem w Kroku 2.
Q2: Skonfigurowałem wszystko, a mimo to przeglądarka wyświetla ostrzeżenie "Niezabezpieczone połączenie"?
A2: Sprawdź w szczególności:
- Zgodność domeny: Otwierasz stronę pod tym samym adresem, na jaki został wydany certyfikat?
- Kompletny łańcuch certyfikatów: Czy plik
.crt
zawiera certyfikaty pośrednie? Polecamy sprawdzić certyfikat za pomocą narzędzi online do weryfikacji SSL. - Restart ServBay: Upewnij się, że ustawienia zostały zastosowane i zrestartowano serwer.
- Pamięć podręczna przeglądarki: Spróbuj wyczyścić cache lub użyć trybu prywatnego/inkognito.
- Zaufanie w systemie: Czy root CA jest zaufany przez Twój system operacyjny? (Z reguły dla zewnętrznych CA jest to domyślnie spełnione.)
Podsumowanie
Dzięki powyższej instrukcji możesz skutecznie skonfigurować i używać certyfikatu SSL wydanego przez zewnętrzny urząd certyfikacji w swoim lokalnym środowisku ServBay. Pozwoli Ci to na dokładne symulowanie konfiguracji produkcyjnej HTTPS, co usprawni lokalne testy i rozwój. Chociaż ServBay oferuje także alternatywne, szybsze opcje SSL (np. ACME, własne CA), umiejętność importu zewnętrznych certyfikatów przyda się użytkownikom z nietypowymi potrzebami certyfikacyjnymi lub przenoszącym istniejący certyfikat.