![Utworzono pierwszy „motyw” Unity, dostępny do pobrania](/f/f1890e60683f7a566ec8d00bc32255cd.jpg?width=100&height=100)
Podążając za poprzednim Szyfrujmy samouczek dotyczący Apache SSL, w tym artykule omówimy, jak wygenerować i zainstalować bezpłatny certyfikat SSL/TLS wydany przez Szyfrujmy CA dla Nginx serwer WWW włączony Ubuntu lub Debiana.
A
rekordy wskazujące na adres IP Twojego serwera.1. W pierwszym kroku zainstaluj serwer WWW Nginx, jeśli nie jest jeszcze zainstalowany, wydając poniższe polecenie:
$ sudo apt-get install nginx.
2. Przed wygenerowaniem bezpłatnego certyfikatu SSL/TLS zainstaluj
Szyfrujmy oprogramowanie w/usr/local/
hierarchia systemu plików za pomocą git klienta wydając poniższe polecenia:
$ sudo apt-get -y zainstaluj git. $ cd /usr/lokalny/ $ sudo git klon https://github.com/letsencrypt/letsencrypt.
3. Chociaż procedura uzyskania Certyfikatu dla Nginx jest zautomatyzowany, nadal możesz ręcznie utworzyć i zainstalować bezpłatny certyfikat SSL dla Nginx za pomocą wtyczki Let’s Encrypt Standalone.
Ta metoda wymaga tego portu 80 nie może być używany w systemie przez krótki czas, podczas gdy klient Let’s Encrypt weryfikuje tożsamość serwera przed wygenerowaniem certyfikatu.
Jeśli już korzystasz z Nginx, zatrzymaj usługę, wydając następujące polecenie.
$ usługa sudo nginx stop. LUB. $ sudo systemctl stop nginx.
Jeśli korzystasz z innej usługi, która wiąże się na porcie 80 zatrzymać tę usługę.
4. Potwierdź ten port 80 jest bezpłatny, uruchamiając polecenie netstat:
$ sudo netstat -tlpn | grp 80.
5. Teraz czas na ucieczkę letencrypt
w celu uzyskania Certyfikatu SSL. Iść do Szyfrujmy katalog instalacyjny znaleziony w /usr/local/letsencrypt ścieżka systemowa i uruchom letencrypt-auto polecenie, podając certonly --samodzielny
opcja i -D
flagę dla każdej domeny lub subdomeny, dla której chcesz wygenerować certyfikat.
$ cd /usr/local/letsencrypt. $ sudo ./letsencrypt-auto certonly --standalone -d twoja_domena.tld
6. Wpisz adres e-mail, który będzie używany przez Let’s Encrypt do odzyskiwania utraconego klucza lub pilnych powiadomień.
7. Zaakceptuj warunki licencji, naciskając klawisz Enter.
8. Na koniec, jeśli wszystko poszło pomyślnie, na konsoli terminala powinien pojawić się komunikat podobny do poniższego zrzutu ekranu.
9. Teraz, gdy Twój certyfikat SSL został wygenerowany, nadszedł czas, aby skonfigurować serwer sieciowy Nginx, aby z niego korzystał. Nowe certyfikaty SSL są umieszczane w /etc/letsencrypt/live/
w katalogu o nazwie zgodnej z nazwą Twojej domeny. Uruchomić polecenie ls aby wyświetlić listę plików certyfikatów wydanych dla Twojej domeny.
$ sudo ls /etc/letsencrypt/live/ $ sudo ls -al /etc/letsencrypt/live/caeszar.tk.
10. Następnie otwórz /etc/nginx/sites-available/default
za pomocą edytora tekstu i dodaj następujący blok po pierwszym skomentowanym wierszu, który określa początek bloku SSL. Użyj poniższego zrzutu ekranu jako wskazówek.
$ sudo nano /etc/nginx/sites-enabled/default.
Fragment bloku Nginx:
# Konfiguracja SSL # listen 443 ssl default_server; ssl_certificate /etc/letsencrypt/live/caeszar.tk/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/caeszar.tk/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers włączone; ssl_ciphers 'EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH'; ssl_dhparam /etc/nginx/ssl/dhparams.pem;
Zamień odpowiednio wartości nazw domen dla certyfikatów SSL.
11. W następnym kroku wygeneruj silną Diffie-Hellman zaszyfrować /etc/nginx/ssl/ katalog w celu ochrony serwera przed Tarapaty atakuj, uruchamiając następujące polecenia.
$ sudo mkdir /etc/nginx/ssl. $ cd /etc/nginx/ssl. $ sudo openssl dhparam -out dhparams.pem 2048.
12. Na koniec uruchom ponownie demona Nginx, aby odzwierciedlić zmiany.
$ sudo systemctl restart nginx.
i przetestuj swój certyfikat SSL, odwiedzając poniższy adres URL.
https://www.ssllabs.com/ssltest/analyze.html.
13. Certyfikaty wydane przez Szyfrujmy CA są ważne przez 90 dni. Aby automatycznie odnowić pliki przed datą wygaśnięcia utwórz ssl-renew.sh
skrypt bash w /usr/local/bin/
katalog z następującą zawartością.
$ sudo nano /usr/local/bin/ssl-renew.sh.
Dodaj następującą treść do ssl-renew.sh
plik.
#!/bin/bash cd /usr/local/letsencrypt. sudo ./letsencrypt-auto certonly -a webroot --agree-tos --renew-by-default --webroot-path=/var/www/html/ -d twoja_domena.tld. sudo systemctl przeładuj nginx. wyjście 0.
Zastąp --webroot-ścieżka
zmienna pasująca do katalogu głównego dokumentu Nginx. Upewnij się, że skrypt jest wykonywalny, wydając następujące polecenie.
$ sudo chmod +x /usr/local/bin/ssl-renew.sh.
14. Na koniec dodaj zadanie cron, aby uruchamiać skrypt co dwa miesiące o północy, aby mieć pewność, że Twój certyfikat zostanie zaktualizowany za około 30 dni przed wygaśnięciem.
$ sudo crontab -e.
Dodaj następujący wiersz na dole pliku.
0 1 1 */2 * /usr/local/bin/ssl-renew.sh >> /var/log/twoja_domena.tld-renew.log 2>&1.
Otóż to! Twój serwer Nginx obsługuje teraz zawartość SSL za pomocą bezpłatnego Szyfrujmy SSL certyfikat.