📒 

Zabezpieczenie witryny za pomocą protokołu HTTPS ma zasadnicze znaczenie dla ochrony danych użytkowników i poprawy pozycji w rankingach SEO. Przekierowanie całego ruchu z HTTP na HTTPS zapewnia użytkownikom dostęp do bezpiecznej wersji witryny. Ten przewodnik przeprowadzi Cię przez proces konfigurowania przekierowania z HTTP na HTTPS przy użyciu Nginx na serwerze Linux.

1. Zrozumienie protokołów HTTP i HTTPS

  • HTTP (Hypertext Transfer Protocol): Standardowy protokół przesyłania danych przez Internet. Nie jest on bezpieczny, co oznacza, że dane wysyłane przez HTTP mogą zostać przechwycone przez atakujących.
  • HTTPS (HTTP Secure): Rozszerzenie protokołu HTTP, które wykorzystuje szyfrowanie SSL/TLS do zabezpieczenia danych przesyłanych między klientem a serwerem. Gwarantuje to, że poufne informacje, takie jak dane logowania i szczegóły płatności, są szyfrowane i bezpieczne.

2. Instalacja certyfikatu SSL

Przed skonfigurowaniem przekierowania należy zainstalować certyfikat SSL na serwerze. Certyfikat SSL można uzyskać od różnych dostawców, w tym:

  • Let’s Encrypt: Darmowy, zautomatyzowany i otwarty urząd certyfikacji.
  • Komercyjni dostawcy SSL: Na przykład Comodo, DigiCert lub GoDaddy.

W tym przykładzie zakładamy, że korzystasz z Let’s Encrypt. Jeśli jeszcze nie skonfigurowałeś SSL, wykonaj następujące kroki:

Krok 1: Zainstaluj Certbota

Certbot to narzędzie automatyzujące proces uzyskiwania i odnawiania certyfikatów SSL od Let’s Encrypt.

sudo apt update sudo apt install certbot python3-certbot-nginx

Krok 2: Uzyskanie certyfikatu SSL

Uruchom Certbot, aby automatycznie uzyskać i skonfigurować certyfikat SSL:

sudo certbot –nginx

Postępuj zgodnie z instrukcjami, aby skonfigurować certyfikat SSL. Certbot automatycznie skonfiguruje Nginx do korzystania z HTTPS.

3. Przekierowanie HTTP na HTTPS

Po zainstalowaniu certyfikatu SSL należy skonfigurować Nginx, aby przekierowywał ruch HTTP na HTTPS.

Krok 1: Otwórz plik konfiguracyjny Nginx

Otwórz plik konfiguracyjny Nginx dla swojej witryny, zwykle znajdujący się w /etc/nginx/sites-available/. Użyj preferowanego edytora tekstu, aby otworzyć plik. Na przykład:

sudo nano /etc/nginx/sites-available/example.com

Krok 2: Dodaj regułę przekierowania

W bloku serwera, który nasłuchuje ruchu HTTP (zwykle na porcie 80), dodaj regułę przekierowania, aby przekierować wszystkie żądania do HTTPS. Oto jak powinna wyglądać konfiguracja:

server { listen 80; server_name example.com www.example.com; # Redirect all HTTP requests to HTTPS return 301 https://$host$request_uri; }

Ta konfiguracja nakazuje Nginx przekierowanie całego ruchu przychodzącego do wersji HTTP witryny do wersji HTTPS.

4. Testowanie konfiguracji

Krok 1: Przetestuj konfigurację Nginx

Przed przeładowaniem Nginx, przetestuj konfigurację pod kątem błędów składni:

sudo nginx -t

Powinieneś zobaczyć komunikat wskazujący, że konfiguracja jest w porządku.

Krok 2: Przeładuj Nginx

Zastosuj zmiany, przeładowując serwer Nginx:

sudo systemctl reload nginx

5. Weryfikacja przekierowania

Aby upewnić się, że przekierowanie działa poprawnie:

  1. Otwórz przeglądarkę internetową i przejdź na stronę http://example.com.
  2. Sprawdź, czy następuje automatyczne przekierowanie na stronę https://example.com.
  3. Możesz także użyć narzędzi wiersza poleceń, takich jak curl, aby przetestować przekierowanie:
curl -I http://example.com

Powinieneś zobaczyć odpowiedź 301 Moved Permanently z nagłówkiem Location wskazującym na adres URL HTTPS.

6. Wnioski

Przekierowanie z HTTP na HTTPS na serwerze Linux przy użyciu Nginx to prosty proces, który zwiększa bezpieczeństwo i zaufanie użytkowników. Postępując zgodnie z krokami opisanymi w tym przewodniku, możesz z powodzeniem skonfigurować automatyczne przekierowanie, zapewniając, że cały ruch do Twojej witryny jest bezpieczny. Regularnie sprawdzaj ważność swojego certyfikatu SSL i odnawiaj go w razie potrzeby, aby utrzymać bezpieczne połączenie.