Aby skonfigurować protokół SSL/TLS za pomocą Nginx opcji on Ubuntu, możesz wykonać następujące czynności:
Krok 1: Zainstaluj Nginx
Jeśli nie zainstalowałeś programu Nginx, uruchom następujące polecenia, aby go zainstalować:
sudo apt update
sudo apt install nginx
Krok 2: Zainstaluj OpenSSL
Jeśli nie masz zainstalowanego OpenSSL, zainstaluj go za pomocą następującego polecenia:
sudo apt install openssl
Krok 3: Utwórz katalog dla plików certyfikatów SSL
Utwórz katalog do przechowywania plików certyfikatów SSL:
sudo mkdir /etc/nginx/ssl
Krok 4: Wygeneruj samopodpisane certyfikaty SSL/TLS(opcjonalnie)
Jeśli nie używasz certyfikatów SSL wydanych przez urząd certyfikacji, możesz wygenerować certyfikaty z podpisem własnym za pomocą OpenSSL. Jest to przydatne do testowania protokołu SSL/TLS w środowisku programistycznym. Aby utworzyć certyfikat z podpisem własnym, uruchom następujące polecenia:
cd /etc/nginx/ssl
sudo openssl genrsa -out server.key 2048
sudo openssl req -new -key server.key -out server.csr
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Krok 5: Skonfiguruj Nginx do używania SSL/TLS
Otwórz Nginx plik konfiguracyjny strony, którą chcesz zabezpieczyć:
sudo vi /etc/nginx/sites-available/your_domain
Dodaj następujące wiersze do pliku konfiguracyjnego, aby włączyć protokół SSL:
server {
listen 80;
server_name your_domain.com www.your_domain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name your_domain.com www.your_domain.com;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
# Additional SSL/TLS options can be added here(optional)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
# Additional configurations(if needed)
location / {
# Reverse proxy configuration(if needed)
}
}
Krok 6: Włącz konfigurację i uruchom ponownie Nginx
Utwórz dowiązanie symboliczne z pliku konfiguracyjnego, aby sites-available
umożliwić sites-enabled
konfigurację:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
Sprawdź, czy Nginx konfiguracja nie zawiera błędów:
sudo nginx -t
Jeśli nie ma żadnych błędów, uruchom ponownie Nginx usługę, aby zastosować nową konfigurację:
sudo systemctl restart nginx
Po zakończeniu Twoja witryna zostanie zabezpieczona protokołem SSL/TLS. Pamiętaj, że użycie certyfikatów z podpisem własnym spowoduje wyświetlenie w przeglądarce ostrzeżenia o niezaufanych certyfikatach. Aby mieć zaufany certyfikat SSL/TLS, musisz kupić lub uzyskać bezpłatny certyfikat od urzędu certyfikacji.