Instalacja i konfiguracja serwera Apache / Nginx z SSL i HTTP/2
Linux

Instalacja i konfiguracja serwera Apache / Nginx z SSL i HTTP/2

Instalacja i konfiguracja serwera Apache / Nginx z SSL i HTTP/2

Serwer WWW to kluczowy element każdego systemu działającego w Internecie. Najpopularniejsze rozwiązania — Apache i Nginx — oferują nie tylko wydajną obsługę stron internetowych, ale także pełne wsparcie dla SSL/TLS oraz nowoczesnego protokołu HTTP/2, który zwiększa szybkość i bezpieczeństwo transmisji danych. W tym artykule krok po kroku przeprowadzimy proces instalacji i konfiguracji obu serwerów w systemie Linux (Ubuntu/Debian).


🔧 Instalacja serwera Apache

Aby zainstalować Apache, wykonaj poniższe polecenia:

sudo apt update
sudo apt install apache2 -y

Po zakończeniu instalacji sprawdź, czy usługa działa poprawnie:

sudo systemctl status apache2

Jeśli status to active (running), oznacza to, że serwer jest uruchomiony i dostępny lokalnie pod adresem http://localhost/.


🔐 Włączenie obsługi SSL/TLS w Apache

Aby skonfigurować szyfrowane połączenie HTTPS, musimy włączyć moduły SSL:

sudo a2enmod ssl
sudo systemctl restart apache2

Następnie wygeneruj certyfikat samopodpisany (dla testów) lub użyj darmowego certyfikatu Let’s Encrypt.

🔸 Certyfikat samopodpisany:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/apache-selfsigned.key \
-out /etc/ssl/certs/apache-selfsigned.crt

Dodaj konfigurację HTTPS do wirtualnego hosta:

sudo nano /etc/apache2/sites-available/default-ssl.conf

Wewnątrz sekcji <VirtualHost _default_:443> dodaj:

SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

Zapisz zmiany i aktywuj konfigurację:

sudo a2ensite default-ssl.conf
sudo systemctl reload apache2

⚙️ Włączenie HTTP/2 w Apache

HTTP/2 poprawia wydajność poprzez multiplexing, kompresję nagłówków i lepsze zarządzanie połączeniami. Włącz go poleceniem:

sudo a2enmod http2
sudo systemctl restart apache2

Aby upewnić się, że działa, sprawdź nagłówki HTTP:

curl -I -s https://localhost | grep HTTP

Powinieneś zobaczyć HTTP/2.

 

Czytaj  Łamanie zabezpieczeń aplikacji mobilnych – Android i iOS pod lupą
Instalacja i konfiguracja serwera Apache / Nginx z SSL i HTTP/2
Instalacja i konfiguracja serwera Apache / Nginx z SSL i HTTP/2

🌐 Instalacja i konfiguracja serwera Nginx

Dla wielu administratorów Nginx jest lżejszą i szybszą alternatywą dla Apache. Zainstaluj go:

sudo apt install nginx -y

Uruchom i sprawdź status:

sudo systemctl enable --now nginx
sudo systemctl status nginx

🔒 SSL w Nginx (Let’s Encrypt)

Zainstaluj klienta Certbot:

sudo apt install certbot python3-certbot-nginx -y

Następnie uruchom automatyczną konfigurację SSL:

sudo certbot --nginx

Certbot automatycznie:

  • wygeneruje certyfikat Let’s Encrypt,
  • skonfiguruje HTTPS,
  • ustawi automatyczne odnawianie.

⚡ Włączenie HTTP/2 w Nginx

W pliku konfiguracyjnym serwera (/etc/nginx/sites-available/default), w sekcji listen dodaj:

listen 443 ssl http2;

Zrestartuj usługę:

sudo systemctl restart nginx

🧩 Testowanie i diagnostyka

Sprawdź, czy HTTPS działa:

curl -I https://twojadomena.pl

Aby upewnić się, że używany jest HTTP/2, użyj polecenia:

curl -I -s --http2 https://twojadomena.pl | grep HTTP

Dodatkowo możesz zweryfikować konfigurację SSL:

sudo nginx -t
sudo apache2ctl configtest

🧠 Dobre praktyki bezpieczeństwa

  • Używaj certyfikatów Let’s Encrypt – są darmowe i automatycznie odnawiane.
  • Włącz HSTS (HTTP Strict Transport Security), aby wymusić połączenia HTTPS.
  • Regularnie aktualizuj oprogramowanie:
    sudo apt update && sudo apt upgrade -y
    
  • Ogranicz dostęp do katalogów i logów serwera.

🔗 Przydatne poradniki na Netbe.pl


🏁 Podsumowanie

Konfiguracja Apache lub Nginx z SSL i HTTP/2 to obowiązkowy krok w kierunku bezpieczeństwa i wydajności. Włączenie szyfrowania HTTPS nie tylko chroni dane użytkowników, ale również wpływa pozytywnie na SEO i zaufanie odwiedzających. HTTP/2 natomiast pozwala w pełni wykorzystać możliwości współczesnych przeglądarek i łączy internetowych.

🔹 Niezależnie, który serwer wybierzesz — Apache dla elastyczności czy Nginx dla wydajności — oba oferują pełne wsparcie dla nowoczesnych technologii sieciowych.

Czytaj  Serwer FTP z ograniczonym dostępem (vsftpd) – konfiguracja i zabezpieczenia

 

Polecane wpisy
Audyt bezpieczeństwa systemu Linux przy pomocy darmowego narzędzia Lynis
Audyt bezpieczeństwa systemu Linux przy pomocy darmowego narzędzia Lynis

Audyt bezpieczeństwa systemu Linux przy pomocy darmowego narzędzia Lynis Bezpieczeństwo systemów Linux jest jednym z kluczowych elementów, na które administratorzy Czytaj dalej

Jak spakować i rozpakować folder na Linuksie
Jak spakować i rozpakować folder na Linuksie

Jak spakować i rozpakować folder na Linuksie Istnieje kilka sposobów pakowania i rozpakowywania folderów na Linuksie. Możesz użyć wbudowanych narzędzi Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.