Generator Nginx SSL
Bezpieczne HTTPS w Nginx
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator konfiguracji SSL w Nginx
HTTPS to dziś standard. Poza samym certyfikatem warto zadbać o nowoczesne protokoły, HSTS, cache sesji i OCSP Stapling.
Kluczowe ustawienia
| Opcja | Zalecenie |
|---|---|
| ssl_protocols | TLSv1.2 i TLSv1.3 (bez SSLv3, TLSv1.0/1.1) |
| ssl_certificate | łańcuch certyfikatów (fullchain) |
| ssl_certificate_key | klucz prywatny (privkey) |
| HSTS | max-age 31536000, includeSubDomains |
| OCSP Stapling | przyspiesza walidację certyfikatu |
Certyfikat Let's Encrypt
Darmowy certyfikat uzyskasz przez Certbot. Pliki znajdziesz w /etc/letsencrypt/live/domena/ — użyj fullchain.pem i privkey.pem.
Ostrożnie z HSTS
HSTS nakazuje przeglądarkom łączenie się wyłącznie przez HTTPS. Jeśli certyfikat wygaśnie, użytkownicy zobaczą błąd i nie będą mogli obejść zabezpieczenia. Włączaj po upewnieniu się, że HTTPS działa poprawnie.
Jak działa generator konfiguracji SSL w Nginx
Generator pracuje w całości po stronie przeglądarki: nie wysyła danych na żaden serwer i nie łączy się z Twoją maszyną. Zbierasz kilka wartości wejściowych — nazwę domeny, ścieżkę do certyfikatu i klucza oraz zestaw przełączników — a narzędzie składa z nich blok server dla Nginx. Każdy przełącznik odpowiada dokładnie jednej dyrektywie, dlatego wynik jest przewidywalny i łatwo go potem edytować ręcznie.
Mechanizm sprowadza się do podstawienia: szablon konfiguracji plus Twoje wartości dają gotowy fragment do wklejenia. Dyrektywa ssl_protocols buduje listę dozwolonych wersji TLS, ssl_certificate wskazuje plik z pełnym łańcuchem certyfikatów, a ssl_certificate_key — klucz prywatny. HSTS to nagłówek Strict-Transport-Security z parametrem max-age=31536000, czyli rokiem zapisanym w sekundach; opcjonalnie dochodzi includeSubDomains, który rozciąga politykę na wszystkie subdomeny.
OCSP Stapling działa inaczej niż klasyczne sprawdzanie odwołań: to serwer pobiera podpisaną odpowiedź od wystawcy certyfikatu i dołącza ją do negocjacji TLS, więc klient nie musi wykonywać osobnego zapytania. Generator włącza tę funkcję wraz z weryfikacją, ale nie sprawdza, czy wskazany plik łańcucha zaufania istnieje ani czy zawiera właściwe certyfikaty. Odpowiedzialność za poprawność ścieżek i zgodność z wersją Nginx pozostaje po Twojej stronie.
Przykład krok po kroku
- W polu domeny wpisujesz example.com — ta wartość trafia do dyrektywy server_name oraz do domyślnej ścieżki certyfikatu.
- Podajesz ścieżki wygenerowane przez Certbota: /etc/letsencrypt/live/example.com/fullchain.pem oraz /etc/letsencrypt/live/example.com/privkey.pem.
- Zaznaczasz protokoły TLSv1.2 i TLSv1.3. Starsze wersje — SSLv3, TLSv1.0 i TLSv1.1 — zostają pominięte w dyrektywie ssl_protocols.
- Włączasz HSTS z wartością 31536000 sekund i zaznaczasz includeSubDomains. Przeliczenie: 31536000 s : 86400 s = 365 dni, czyli dokładnie rok.
- Dodajesz OCSP Stapling oraz cache sesji, a następnie kopiujesz wygenerowany blok do pliku konfiguracyjnego Nginx.
- Sprawdzasz składnię poleceniem nginx -t i przeładowujesz usługę. Jeśli test przejdzie bez błędów, ruch na porcie 443 obsługuje już nowa konfiguracja.
Dyrektywy w wygenerowanej konfiguracji
| Dyrektywa | Rola | Na co uważać |
|---|---|---|
| ssl_protocols | Określa dozwolone wersje TLS | Zostaw TLSv1.2 i TLSv1.3; SSLv3, TLSv1.0 i TLSv1.1 wyłącz. |
| ssl_certificate | Wskazuje plik z certyfikatem serwera i łańcuchem pośrednim | Musi to być fullchain.pem, a nie sam certyfikat domeny. |
| ssl_certificate_key | Wskazuje klucz prywatny | Ścieżka powinna prowadzić do privkey.pem w katalogu danej domeny. |
| Strict-Transport-Security | Wymusza połączenia wyłącznie przez HTTPS | max-age=31536000 oznacza 365 dni, a includeSubDomains obejmuje też subdomeny. |
| ssl_stapling | Włącza OCSP Stapling | Wymaga poprawnego łańcucha zaufania po stronie serwera. |
| ssl_trusted_certificate | Wskazuje łańcuch używany do weryfikacji odpowiedzi OCSP | Bez tego pliku OCSP Stapling nie zadziała poprawnie. |
| ssl_session_cache | Przyspiesza wznawianie sesji TLS | Cache współdzielony między procesami roboczymi zwiększa zapotrzebowanie na pamięć. |
| listen | Nasłuch na porcie HTTPS | Blok dla portu 80 z przekierowaniem dodajesz osobno. |
Praktyczne wskazówki
- Najpierw certyfikat, potem HSTS — nagłówek włączaj dopiero wtedy, gdy HTTPS na domenie i subdomenach działa bez błędów. Wycofanie HSTS polega na odczekaniu czasu max-age, czyli w praktyce nawet roku.
- Używaj pliku fullchain.pem — sam certyfikat domeny bywa niewystarczający, bo część klientów nie potrafi samodzielnie dociągnąć certyfikatów pośrednich. Pełny łańcuch usuwa ten problem.
- Sprawdź konfigurację przed przeładowaniem — test składni wyłapie literówki w ścieżkach i dyrektywach, zanim użytkownicy zobaczą ostrzeżenie o certyfikacie albo błąd połączenia.
- Nie kopiuj ścieżek z poradników — Certbot tworzy osobny katalog dla każdej domeny w /etc/letsencrypt/live/, więc nazwa katalogu musi odpowiadać Twojej domenie.
- Przetestuj subdomeny przed włączeniem includeSubDomains — jeśli któraś z nich nie ma ważnego certyfikatu, przeglądarki z zapisanym nagłówkiem zablokują do niej dostęp.
Czego narzędzie nie uwzględnia
- Brak walidacji plików i składni — generator tylko składa tekst. Nie sprawdza, czy pliki istnieją, czy klucz pasuje do certyfikatu ani czy Twoja wersja Nginx obsługuje wybrane dyrektywy.
- Nie dobiera szyfrów ani parametrów Diffiego-Hellmana — listę cipherów i plik dhparam musisz dodać samodzielnie, dopasowując je do wersji OpenSSL oraz wsparcia klientów.
- Nie tworzy bloku dla portu 80 — przekierowanie z HTTP na HTTPS wymaga osobnego bloku server z dyrektywą return 301. Generator przygotowuje wyłącznie część dla portu 443.
- Pomija kontekst środowiska — nie wie, czy działasz za reverse proxy, load balancerem, ani czy TLS kończy się na innym urządzeniu. W takich układach część dyrektyw ma inne znaczenie lub jest zbędna.
Najczęstsze pytania
Dlaczego używać fullchain.pem?
Zawiera certyfikat serwera i certyfikaty pośrednie. Bez nich część klientów nie zweryfikuje połączenia.
Co daje OCSP Stapling?
Serwer sam sprawdza status certyfikatu i dołącza podpisaną odpowiedź, co przyspiesza połączenie i poprawia prywatność.
Jak przetestować konfigurację?
Użyj nginx -t przed przeładowaniem oraz zewnętrznego testera SSL do oceny protokołów i nagłówków.
Jakie ssl_protocols ustawić w Nginx?
Zostaw TLSv1.2 i TLSv1.3, a wyłącz SSLv3, TLSv1.0 oraz TLSv1.1. Taki zestaw obsługują współczesne przeglądarki, a jednocześnie odcinasz przestarzałe wersje protokołu.
Czy HSTS da się wyłączyć po włączeniu?
Nie natychmiast. Przeglądarki pamiętają nagłówek przez czas max-age, w zalecanym ustawieniu 31536000 sekund, czyli rok. Nowy nagłówek z krótszym czasem zadziała dopiero po wygaśnięciu zapisanej polityki.
Dlaczego includeSubDomains w HSTS jest ryzykowne?
Rozciąga wymuszenie HTTPS na wszystkie subdomeny, również te, o których można zapomnieć. Jeśli któraś nie ma poprawnego certyfikatu, użytkownicy zobaczą błąd i nie będą mogli obejść zabezpieczenia.
Czy generator obsługuje wiele domen w jednym pliku?
Nie, generuje konfigurację dla jednej domeny. Przy wielu hostach przygotuj osobne bloki albo połącz je ręcznie, pilnując odrębnych ścieżek certyfikatów.
Jak sprawdzić, czy HSTS i OCSP Stapling faktycznie działają?
Użyj zewnętrznego testera SSL — powinien pokazać nagłówek Strict-Transport-Security oraz informację o OCSP Stapling. Test składni potwierdza tylko poprawność zapisu, a nie działanie mechanizmów.