LinuxAdmin
Administracja Monitoring Awarie Migracje DevOps Cennik Blog Kontakt
~ / blog / certyfikat-tls-ssl
// poradnik opublikowano 2023-09-16 · zaktualizowano 2026-10-08

Instalacja certyfikatu TLS/SSL na Apache i Nginx

Certyfikat TLS chroni połączenie z witryną, ale poprawne wdrożenie obejmuje też nazwę domeny, pełny łańcuch, prywatny klucz, automatyczne odnowienie i monitoring.

Instalacja certyfikatu TLS/SSL na serwerze

Nazwa SSL nadal jest powszechna w wyszukiwaniach, ale współczesna konfiguracja korzysta z TLS. Dla większości publicznych stron wystarczy automatycznie odnawiany certyfikat ACME, na przykład Let’s Encrypt. Certyfikat komercyjny ma sens tylko wtedy, gdy wynika to z wymagań organizacji, klienta lub konkretnej usługi.

Co trzeba przygotować przed instalacją

Certyfikat musi odpowiadać rzeczywistym nazwom obsługiwanym przez serwer, na przykład example.com i www.example.com. Potrzebujesz kontroli nad DNS lub ruchem HTTP dla walidacji domeny, dostępu do właściwego serwera albo panelu hostingowego oraz informacji, który vhost obsługuje daną aplikację.

Przykład dla Apache

Poniższy fragment pokazuje vhost z plikami wygenerowanymi przez klienta ACME. Ścieżki i nazwa usługi mogą być inne na Twoim serwerze.

<VirtualHost *:443>
    ServerName example.com
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>

Użycie fullchain.pem jest ważne: przeglądarka powinna otrzymać pełny łańcuch certyfikatów, a nie tylko certyfikat serwera.

Przykład dla Nginx

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
}

Dyrektywy HTTP/2 zależą od wersji Nginx, dlatego nie należy kopiować ich z przypadkowej starej konfiguracji. Certyfikat i prywatny klucz muszą być dostępne dla procesu serwera, przy zachowaniu ograniczonych uprawnień do klucza.

Test, przeładowanie i kontrola z zewnątrz

Po zmianie najpierw testuje się konfigurację. Dopiero poprawny wynik jest podstawą do przeładowania właściwej usługi. Przykładowe polecenia uruchamiaj wyłącznie na serwerze, którego konfigurację właśnie sprawdzasz.

apachectl -t && systemctl reload apache2
nginx -t && systemctl reload nginx
openssl s_client -connect example.com:443 -servername example.com </dev/null

Po stronie użytkownika sprawdź stronę w przeglądarce, przekierowanie HTTP do HTTPS oraz nazwy domen na certyfikacie. Zewnętrzny monitoring powinien kontrolować dostępność HTTPS, poprawność hostname i termin wygaśnięcia.

Odnowienie jest częścią wdrożenia

Nie wystarczy jednorazowo wystawić certyfikat. Trzeba wiedzieć, jaki klient lub panel go odnawia, czy zadanie odnowienia działa oraz kto dostanie alert przed wygaśnięciem. Test odnowienia wykonuje się narzędziem użytym na danym hoście, a nie uniwersalnym poleceniem skopiowanym z innego systemu.

Jeśli zmiana certyfikatu jest elementem większej aktualizacji systemu lub migracji aplikacji, zaplanuj ją razem z testami i kopią bezpieczeństwa. Zobacz także hardening serwera, monitoring oraz bezpieczną migrację.

Certyfikat wygasł albo przeglądarka zgłasza ostrzeżenie?

Możemy sprawdzić DNS, konfigurację vhosta, łańcuch certyfikatów i mechanizm odnowienia. Przy problemie z działającą stroną zaczynamy od diagnozy, aby nie pogorszyć awarii przypadkową zmianą konfiguracji.

Zobacz pomoc przy awarii →

Potrzebujesz pomocy z TLS/SSL?

Opisz domenę, serwer WWW i objaw. Sprawdzimy, czy problem dotyczy certyfikatu, DNS, vhosta czy automatycznego odnowienia.

LinuxAdmin by SysGroup

Usługę realizuje SysGroup Sp. z o.o. - polski zespół administratorów i DevOps.

sysgroup.pl →