Automatyczne uzyskiwanie i zarządzanie certyfikatami SSL w ServBay przy użyciu Let's Encrypt
Współczesny rozwój stron WWW wymaga wiernego odwzorowania środowiska produkcyjnego – w tym korzystania z HTTPS nawet lokalnie. ServBay posiada wbudowaną obsługę protokołu ACME (Automated Certificate Management Environment), dzięki której łatwo i automatycznie uzyskasz, zainstalujesz i będziesz zarządzać darmowymi certyfikatami SSL/TLS od organizacji certyfikującej, takiej jak Let's Encrypt. Ten przewodnik szczegółowo wyjaśnia, jak wystawić certyfikaty Let's Encrypt w ServBay i zastosować je do lokalnych stron projektowych.
Korzyści z używania certyfikatów Let's Encrypt to m.in.: brak opłat, automatyzacja procesu, wysoki poziom zaufania oraz możliwość wygodnego testowania na lokalnym środowisku funkcji takich jak HTTPS, Service Workers czy HSTS.
Wymagania wstępne
Przed rozpoczęciem ubiegania się o certyfikat Let's Encrypt upewnij się, że spełniasz poniższe warunki:
- Posiadanie publicznej domeny: Musisz dysponować zarejestrowaną i aktywną domeną (np.
servbay.demo
lubtwojadomena.com
). Let's Encrypt nie wystawia certyfikatów dla adresów IP (w tym lokalnych) ani dla domen niepublicznych, takich jak.local
. - Możliwość zarządzania rekordami DNS: ServBay dokonuje walidacji własności domeny poprzez API DNS. Oznacza to, że musisz mieć dostęp do panelu zarządzania swoim rejestratorem domen lub usługodawcą DNS (np. Cloudflare, GoDaddy, AWS Route 53 itp.) oraz możliwość wygenerowania API key do automatyzacji.
- Pozyskaj klucz API DNS: Wygeneruj odpowiedni klucz API lub token u swojego dostawcy DNS, zgodnie z jego wymaganiami. Sposób uzyskania klucza różni się w zależności od firmy. Najczęściej potrzebny jest klucz z uprawnianiami do zarządzania rekordami DNS. Więcej informacji oraz listę zmiennych środowiskowych znajdziesz w WIKI DNS API projektu acme.sh.
Krok po kroku: Wystąp o certyfikat
Oto szczegółowa procedura uzyskiwania certyfikatu SSL w ServBay przez Let's Encrypt:
Otwórz panel zarządzania ServBay: Uruchom aplikację ServBay, kliknij ikonę na pasku menu i wybierz „Panel zarządzania” (Manager Panel), aby przejść do panelu www.
Przejdź do zarządzania certyfikatami SSL: W lewym menu panelu ServBay znajdź i kliknij
Certyfikaty SSL
(SSL Certificates).Rozpocznij nowy wniosek: W prawym górnym rogu listy certyfikatów kliknij okrągły przycisk „+”, by otworzyć okno wniosku konfiguracyjnego.
Uzupełnij dane certyfikatu: W formularzu „Request Certificate” (Wniosek o certyfikat) wprowadź poniższe dane:
- Common Name (nazwa główna): Nazwij certyfikat opisowo, by łatwo go zidentyfikować, np.
servbay-demo-cert
lubmojadomena-wildcard-cert
. - Cel użycia: Wybierz
TLS/SSL
. - Metoda wniosku: Wybierz
ACME
. - Wystawca: Wybierz
Let's Encrypt
. - Dostawca API DNS: Z listy wybierz usługodawcę domeny lub DNS (np.
cloudflare
dla Cloudflare,godaddy
dla GoDaddy). - Algorytm: Zaleca się wybranie
ECC
(Elliptic Curve Cryptography) oraz długości klucza384
. Certyfikaty ECC są mniejsze i zapewniają lepszą wydajność oraz bezpieczeństwo w porównaniu z tradycyjnym RSA. - Adres e-mail: Wprowadź swój aktualny adres e-mail – Let's Encrypt wysyła tam powiadomienia o wygasaniu/odnowieniu certyfikatu.
- Tokeny API DNS: Wprowadź wymagane przez dostawcę DNS API klucze/tokeny. Najczęściej przekazuje się je jako zmienne środowiskowe do klienta ACME. Szczegóły znajdziesz w dokumentacji dostawcy DNS lub na WIKI DNS API acme.sh. WAŻNE: Nie wpisuj przed nimi słowa
export
. Przykładowo, dla Cloudflare będzie to:CF_Key=sdfsdfsdffgfdg\[email protected]
(kolejne zmienne rozdzielone\n
). - Domena: Podaj domenę, dla której chcesz otrzymać certyfikat. Jeśli zamierzasz obsługiwać wiele domen lub certyfikat typu wildcard (np.
*.servbay.demo
), rozdziel je przecinkiem (np.servbay.demo, www.servbay.demo, *.servbay.demo
). Uwaga: certyfikat wildcard wymaga walidacji przez API DNS.
Uwaga: na zrzucie przykładowa nazwa to Test. Przy składaniu wniosku zaleca się użycie bardziej opisowych nazw.
- Common Name (nazwa główna): Nazwij certyfikat opisowo, by łatwo go zidentyfikować, np.
Złóż wniosek: Po sprawdzeniu poprawności danych kliknij „Request” (Wniosek) na dole okna.
Poczekaj na realizację: ServBay uruchomi w tle klienta ACME, który zweryfikuje własność domeny przez API DNS i prześle wniosek do Let's Encrypt. Proces ten może potrwać od kilku minut do godziny, zależnie m.in. od propagacji DNS i obciążenia serwerów Let's Encrypt. Po zakończeniu nowy certyfikat automatycznie pojawi się na Twojej liście SSL.
Korzystanie z certyfikatu
Gdy uzyskany certyfikat pojawi się na liście, możesz przypisać go do swojej strony lokalnej:
- Przejdź do konfiguracji stron: W menu bocznym panelu ServBay wybierz
Strony
(Websites). - Edytuj wybraną stronę: Znajdź projekt, do którego chcesz przypisać certyfikat, i kliknij przycisk edycji (ikona ołówka).
- Skonfiguruj HTTPS/SSL: W opcjach strony znajdź ustawienia dotyczące SSL/HTTPS. Wybierz źródło certyfikatu.
- Wybierz certyfikat ACME: Ustaw źródło certyfikatu na
ACME
, a następnie z rozwijanej listy wskaż świeżo uzyskany certyfikat oznaczony wybraną Common Name. - Zapisz ustawienia: Zapisz zmiany w konfiguracji strony. ServBay zaktualizuje ustawienia i Twój lokalny serwis będzie dostępny przez HTTPS.
Zrzut ekranu przedstawia wybór certyfikatu ACME w ustawieniach strony.
Odnawianie certyfikatu
Certyfikaty Let's Encrypt są ważne przez 90 dni. ServBay posiada mechanizm automatycznego odnawiania. Gdy Twój certyfikat ACME zbliża się do daty wygaśnięcia (zwykle 30 dni wcześniej), ServBay spróbuje automatycznie go odnowić z użyciem tych samych danych. Nie musisz nic robić. Zapewnij jedynie, by klucz API DNS był dalej aktywny. W razie problemów z odnowieniem, Let's Encrypt poinformuje Cię na podanego e-maila.
O protokole ACME i walidacji przez API DNS
- Protokół ACME: To otwarty standard służący do automatyzacji procesu walidacji domen i wystawiania certyfikatów. Let's Encrypt i inne CA korzystają z ACME do komunikacji z klientami (np. wbudowanym w ServBay), zapewniając automatyzację zarządzania certyfikatami.
- Walidacja przez API DNS: ACME umożliwia potwierdzenie własności domeny poprzez dodanie przez klienta odpowiedniego rekordu TXT w DNS przy użyciu API DNS. Serwer certyfikujący sprawdza istnienie tego rekordu, by potwierdzić, że kontrolujesz domenę. Ta metoda jest szczególnie przydatna, gdy:
- Wnioskujesz o certyfikat typu wildcard (np.
*.servbay.demo
); - Twoje środowisko ServBay nie jest publicznie dostępne (np. pracujesz w sieci lokalnej lub porty 80/443 są zablokowane).
- Wnioskujesz o certyfikat typu wildcard (np.
Wybór algorytmu certyfikatu: ECC czy RSA
Przy składaniu wniosku w ServBay możesz zdecydować, czy chcesz użyć algorytmu ECC, czy RSA.
- RSA: Tradycyjny algorytm kryptografii asymetrycznej. Certyfikaty RSA mają najwyższą zgodność (obsługiwane przez wszystkie przeglądarki i systemy), najpopularniejsze długości klucza to 2048 i 4096 bitów.
- ECC: Algorytm oparty na krzywych eliptycznych. Dla tego samego poziomu bezpieczeństwa co RSA klucz ECC może być znacznie krótszy (np. ECC 256-bit jest porównywalny z RSA 3072-bit), co przekłada się na szybsze połączenia TLS i mniejszą konsumpcję zasobów serwera oraz klienta. Nowoczesne przeglądarki doskonale radzą sobie z ECC.
Rekomendacja: Dla większości zastosowań zaleca się ECC (najlepiej 384 bity) — zapewnia wyższą wydajność i bezpieczeństwo. Jeśli zależy Ci na maksymalnej zgodności z bardzo starymi urządzeniami, wybierz RSA.
Wskazówki i uwagi
- Czas propagacji DNS: Po złożeniu wniosku zmiany w rekordach TXT DNS mogą się propagować nawet do kilku godzin. W razie błyskawicznej odmowy przez CA, odczekaj i spróbuj ponownie.
- Bezpieczeństwo API key: Twój klucz API DNS pozwala na pełną kontrolę nad rekordami domeny — przechowuj go bezpiecznie i nie udostępniaj osobom trzecim.
- Ograniczenia Let's Encrypt: Let's Encrypt nakłada limity na liczbę wydawanych certyfikatów dla jednej domeny. Częste odnowienia lub wielokrotne wnioski mogą doprowadzić do czasowej blokady. Standardowa, automatyczna procedura ServBay nie powinna powodować przekroczeń.
Najczęstsze pytania (FAQ)
- Q: Moja domena wskazuje na lokalny adres IP. Czy mogę dostać certyfikat Let's Encrypt?
- A: Tak, o ile korzystasz z walidacji przez API DNS. Let's Encrypt sprawdza, czy masz kontrolę nad zapisami DNS, nie — dokąd domena jest skierowana.
- Q: Co zrobić, jeśli wniosek o certyfikat się nie powiódł?
- A: W pierwszej kolejności sprawdź poprawność API key i uprawnień oraz wybór właściwego dostawcy DNS API. Możliwe, że propagacja DNS jeszcze się nie zakończyła — poczekaj kilka minut. Zajrzyj też do logów ServBay, by poznać szczegóły błędu.
- Q: Ile przed wygaśnięciem następuje automatyczne odnowienie?
- A: ServBay rozpoczyna próbę odnowienia zwykle na 30 dni przed wygaśnięciem certyfikatu.
- Q: Czy mogę ubiegać się o certyfikat dla
*.local
lub lokalnego IP?- A: Nie. Let's Encrypt wystawia certyfikaty wyłącznie dla domen publicznych. Dla
.local
lub adresów IP możesz wygenerować testowy/self-signed certyfikat korzystając z funkcji ServBay User CA lub ServBay Public CA.
- A: Nie. Let's Encrypt wystawia certyfikaty wyłącznie dla domen publicznych. Dla
- Q: Co, jeśli mój dostawca DNS nie figuruje na liście ServBay?
- A: Wbudowany klient ACME w ServBay obsługuje większość popularnych dostawców DNS. W przypadku rzadkich usług konieczna może być ręczna konfiguracja. Odwiedź WIKI DNS API acme.sh, by sprawdzić wsparcie i sposób integracji. Jeśli nie ma go w interfejsie ServBay — skontaktuj się ze wsparciem.
Podsumowanie
ServBay integrując protokół ACME znacząco upraszcza proces uzyskiwania i zarządzania certyfikatami SSL Let's Encrypt w środowisku lokalnym. Dzięki walidacji przez API DNS uzyskasz darmowe, automatycznie odnawiane certyfikaty dla dowolnych, także wildcardowych domen publicznych, idealnie odwzorowując konfigurację HTTPS z produkcji w lokalnym środowisku testowym. Przestrzegając powyższych kroków szybko aktywujesz bezpieczne połączenia dla swoich stron na ServBay, zyskując na efektywności i bezpieczeństwie.