Wyszukiwanie w witrynie

Jak zainstalować bezpłatny certyfikat SSL dla Nginx na Debianie 10


Konfigurując witrynę internetową, jedną z kluczowych kwestii, o których należy pamiętać, jest bezpieczeństwo witryny. Certyfikat SSL to certyfikat cyfrowy, który szyfruje dane przesyłane z przeglądarki użytkownika do serwera internetowego. W ten sposób wysyłane dane są poufne i bezpieczne przed hakerami, którzy używają snifferów pakietów, takich jak Wireshark, do przechwytywania i podsłuchiwania Twojej komunikacji.

Zaszyfrowana witryna ma symbol kłódki na pasku adresu URL, po którym następuje akronim https, jak pokazano na poniższym zrzucie ekranu.

W przypadku niezaszyfrowanej witryny na pasku adresu URL zwykle pojawia się powiadomienie „Niezabezpieczona”.

Warunki wstępne

Zanim zaczniemy, upewnij się, że zostały spełnione następujące wymagania:

  1. Działająca instancja minimalnego serwera Debiana 10.
  2. Działająca instancja serwera WWW Nginx z konfiguracją domeny w Debianie 10.
  3. Zarejestrowana w pełni kwalifikowana nazwa domeny (FQDN) z rekordem A wskazującym adres IP Debian 10 u Twojego dostawcy domeny.

Na potrzeby tego samouczka witryna linux-console.net wskazała adres IP 192.168.0.104.

W tym artykule sprawdzimy, jak zainstalować Let's Encrypt SSL na Debianie 10, aby uzyskać darmowy certyfikat SSL dla Nginx silna> witryna hostowana.

Co to jest Let’s Encrypt SSL

Let's Encrypt SSL to bezpłatny certyfikat od EFF (Electronic Frontier Foundation), który jest ważny przez 3 miesiące i automatycznie odnawia się po wygaśnięciu. To łatwy i tani sposób na zaszyfrowanie witryny, jeśli masz mało kieszeni.

Bez zbędnych ceregieli, przejdźmy do rzeczy i zainstalujmy Let's Encrypt na serwerze internetowym Nginx:

Krok 1: Zainstaluj Certbota w Debianie 10

Na początek musimy zainstalować Certbot – to oprogramowanie, które pobiera cyfrowy certyfikat Let’s encrypt i później wdraża go na serwerze internetowym. Aby to osiągnąć musimy zainstalować pakiet python3-certbot-nginx. Ale zanim to zrobimy, zaktualizujmy najpierw pakiety systemowe.

sudo apt update

Następnym krokiem jest instalacja zależności wymaganych przez pakiet python3-certbot-nginx.

sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

Teraz zainstalujmy pakiet python3-certbot-nginx.

sudo apt install python3-certbot-nginx

Krok 2. Weryfikacja konfiguracji bloku serwera Nginx

Aby certbot automatycznie wdrażał certyfikat Zaszyfrujmy SSL na serwerze WWW Nginx, należy skonfigurować blok serwera. Konfigurację bloków serwera Nginx omówiliśmy w ostatniej części poprzedniego artykułu.

Jeśli uważnie śledziłeś, powinieneś mieć blokadę serwera pod adresem /etc/nginx/sites-available/some_domain. W naszym przypadku będzie to blok serwera Nginx

/etc/nginx/sites-available/linux-console.net

Ponadto upewnij się, że dyrektywa nazwa_serwera odpowiada nazwie Twojej domeny.

server_name linux-console.net linux-console.net;

Aby potwierdzić, że wszystkie konfiguracje Nginx są w porządku, uruchom:

sudo nginx -t

Dane wyjściowe powyżej wskazują, że wszystko jest w porządku.

Krok 3: Skonfiguruj zaporę sieciową tak, aby otwierała port HTTPS

Jeśli masz skonfigurowany i włączony ufw, jak zawsze jest to zalecane, musimy zezwolić na protokół HTTPS przez zaporę ogniową, aby serwer WWW był dostępny dla każdego.

sudo ufw allow 'Nginx Full'

Następnie ponownie załaduj zaporę, aby zastosować zmiany.

sudo ufw reload

Aby sprawdzić, czy zezwoliliśmy na protokół przez zaporę ogniową.

sudo ufw status

Krok 4: Wdrażanie certyfikatu Let's Encrypt SSL dla domeny

Po sprawdzeniu wszystkich ustawień i konfiguracji nadszedł czas, aby pobrać i wdrożyć certyfikat Let's Encrypt SSL w witrynie domeny.

sudo certbot --nginx -d domain-name  -d www.domain-name.com 

W naszym przypadku będziemy mieć

sudo certbot --nginx -d linux-console.net -d linux-console.net

W pierwszym kroku zostaniesz poproszony o podanie adresu e-mail. Wpisz swój adres i naciśnij Enter.

Następnie zostaniesz poproszony o akceptację warunków korzystania z usługi. Wpisz A, aby kontynuować.

Certbot poprosi Cię o zgodę na używanie Twojego adresu e-mail do wysyłania powiadomień o najnowszych wydarzeniach w EFF. Tutaj możesz wyrazić zgodę lub zrezygnować. Aby wyrazić zgodę, wpisz T (Tak) i naciśnij Enter. Aby odmówić udziału, naciśnij N (Nie).

Certbot skontaktuje się następnie z Let’s encrypt, pobierze certyfikat SSL i wdroży go w bloku serwera Nginx, który już utworzyłeś.

W następnej sekcji wpisz 2, aby przekierować zwykły ruch HTTP do HTTPS.

Certyfikat zostanie wdrożony na Twoim serwerze Nginx, a Ty otrzymasz powiadomienie z gratulacjami potwierdzające, że Twój serwer internetowy jest teraz zaszyfrowany przy użyciu Let's Encrypt SSL.

Krok 5: Zweryfikuj HTTPS na stronie Nginx

Aby zweryfikować zmiany poprzez przeglądarkę internetową, odśwież kartę przeglądarki i zwróć uwagę na symbol kłódki.

Kliknij ikonę kłódki i wybierz opcję „Certyfikat”, aby wyświetlić szczegóły certyfikatu SSL.

Wyświetlone zostaną wszystkie szczegóły certyfikatu.

Możesz dodatkowo zweryfikować stan swojego serwera internetowego, testując adres URL swojej witryny pod adresem https://www.ssllabs.com/ssltest/. Jeśli serwer internetowy jest zaszyfrowany przy użyciu certyfikatu SSL, otrzymasz wynik A, jak pokazano.

Wniosek

Dotarliśmy do końca tego samouczka. W przewodniku dowiedziałeś się, jak zainstalować bezpłatny certyfikat SSL dla Nginx na Debianie 10.