Jak zainstalować certyfikat SSL w Proxmox VE
W skrócie
W panelu Proxmox VE kliknij węzeł, otwórz „System” → „Certificates” → „Upload Custom Certificate”, wczytaj privkey.pem w pole „Private Key (Optional)” i fullchain.pem w pole „Certificate Chain”, a potem kliknij „Upload”. W klastrze zrób to w każdym węźle.
Dla serwera Proxmox VE 9. Certyfikat dotyczy panelu WWW na porcie 8006. Zadziała, gdy otwierasz panel pod adresem ze swojej domeny (np. https://pve.twojadomena.pl:8006), a ta nazwa prowadzi do adresu serwera. Przy wejściu przez adres IP przeglądarka nadal pokaże ostrzeżenie. Nazwy podajemy z angielskiej wersji panelu, a w nawiasie z polskiej.
Potrzebne pliki
privkey.pem i fullchain.pem, wczytywane z dysku. Dokumentacja Proxmox nie opisuje kluczy ECDSA, dlatego w kroku 1 generatora wybierz „RSA 2048”.
Wgrywaj certyfikat z trybu produkcyjnego. Certyfikat z trybu testowego służy tylko do sprawdzenia procesu: przeglądarki mu nie ufają, a część paneli w ogóle go nie przyjmie.
Zanim zaczniesz
- Proxmox VE sam potrafi pobierać i odnawiać certyfikaty Let's Encrypt (ACME). Potrzebuje do tego portu 80 otwartego na serwerze z internetu albo dostawcy DNS z dostępem przez API, którego dane logowania zapisujesz w Proxmox. Jeśli masz jedno albo drugie, wbudowane ACME jest wygodniejsze, bo samo odnawia certyfikat.
- Nasz generator przydaje się, gdy serwer nie jest widoczny z internetu, nie chcesz otwierać portu 80 albo nie chcesz dawać serwerowi dostępu do swojej strefy DNS. W generatorze wybierz metodę „Rekord DNS” i dodaj rekord ręcznie w panelu domeny. Metoda z plikiem tu nie pasuje, bo panel Proxmox działa na porcie 8006, a nie na stronie WWW, na którą dałoby się wgrać plik.
- W klastrze każdy węzeł ma własny certyfikat i wgrywasz go osobno w każdym węźle. Certyfikat musi obejmować nazwę danego węzła. Jeden certyfikat z gwiazdką (np. *.twojadomena.pl) możesz wgrać na wszystkie węzły.
- Jeśli węzeł ma wpisane domeny ACME (na tej samej stronie „Certificates”, pod listą certyfikatów), Proxmox przed końcem ważności może zastąpić Twój certyfikat swoim. Jeśli nie korzystasz z ACME, usuń te wpisy.
Krok po kroku
- Zaloguj się do panelu Proxmox VE (https://adres-serwera:8006). Po lewej stronie, pod „Datacenter” („Centrum danych”), kliknij nazwę węzła.
- W menu węzła, w grupie „System”, kliknij „Certificates” („Certyfikaty”).
- Kliknij „Upload Custom Certificate” („Prześlij własny certyfikat”).
- Przy każdym z dwóch pól kliknij „From File” („Wczytaj z pliku”) i wskaż plik (niżej, co gdzie). Możesz też wkleić zawartość plików prosto w pola.
- Kliknij „Upload” („Prześlij”). Proxmox uruchomi ponownie usługę panelu i po około 10 sekundach sam odświeży stronę. Jeśli tego nie zrobi, odśwież ją ręcznie.
- Otwórz panel pod adresem ze swojej domeny, np. https://pve.twojadomena.pl:8006, i sprawdź kłódkę w przeglądarce. W klastrze powtórz kroki w każdym węźle.
Który plik w które pole
- Private Key (Optional): plik privkey.pem. Mimo dopisku „Optional” wypełnij to pole zawsze, bo każdy certyfikat z generatora ma nowy klucz.
- Certificate Chain: plik fullchain.pem (certyfikat razem z certyfikatem pośrednim).
Sprawdzenie
Otwórz swoją stronę przez https:// i kliknij kłódkę (albo ikonę ustawień) obok adresu. Szczegóły certyfikatu powinny pokazać wystawcę Let's Encrypt i datę ważności zgodną z panelem. Jeśli przeglądarka nadal pokazuje stary certyfikat, odczekaj kilka minut i odśwież stronę.
Jeśli zamiast strony widzisz ostrzeżenie, kod błędu wyjaśniamy na stronie „Połączenie nie jest prywatne”. Jeśli strona otwiera się przez https, ale wygląda źle albo coś nie działa, zobacz mieszana zawartość. Na koniec włącz przekierowanie z http na https, żeby wszyscy trafiali na bezpieczną wersję.
Dobrze wiedzieć
- Proxmox sprawdza, czy klucz pasuje do certyfikatu. Jeśli nie pasuje, odrzuci pliki i zostawi poprzedni certyfikat. Najczęstsza przyczyna to pliki z dwóch różnych zamówień.
- Przycisk „Delete Custom Certificate” („Usuń własne certyfikaty”) na tej samej stronie przywraca certyfikat wygenerowany przez Proxmox. Przeglądarka znów pokaże ostrzeżenie, ale panel będzie działał.
- Certyfikat dotyczy tylko panelu i API Proxmox. Strony w maszynach wirtualnych i kontenerach potrzebują własnych certyfikatów.
- Jeśli wolisz wiersz poleceń, skopiuj oba pliki na węzeł (np. programem WinSCP), otwórz „Shell” („Konsola”) w menu węzła, przejdź do katalogu z plikami i uruchom:
pvenode cert set fullchain.pem privkey.pem --force 1 --restart 1
Przy odnowieniu
Wygeneruj nowy certyfikat i wgraj go tak samo: „Certificates” → „Upload Custom Certificate”, nowe privkey.pem i fullchain.pem, „Upload”. Nowy certyfikat zastępuje poprzedni. Proxmox nie odnowi go sam, więc pilnuj daty (przypomnimy e-mailem). W klastrze odnów certyfikat w każdym węźle.
Panele hostingów co jakiś czas się zmieniają. Jeśli coś wygląda inaczej niż w opisie, napisz na kontakt@freessl.pl, a poprawimy instrukcję.