För att konfigurera SSL/TLS med Nginx på Ubuntu kan du följa dessa steg:
Steg 1: Installera Nginx
Om du inte har installerat Nginx, kör följande kommandon för att installera det:
sudo apt update
sudo apt install nginx
Steg 2: Installera OpenSSL
Om du inte har OpenSSL installerat, installera det med följande kommando:
sudo apt install openssl
Steg 3: Skapa en katalog för SSL-certifikatfiler
Skapa en katalog för att lagra SSL-certifikatfiler:
sudo mkdir /etc/nginx/ssl
Steg 4: Generera självsignerade SSL/TLS-certifikat(valfritt)
Om du inte använder SSL-certifikat från en certifikatutfärdare kan du generera självsignerade certifikat med OpenSSL. Detta är användbart för att testa SSL/TLS i en utvecklingsmiljö. För att skapa ett självsignerat certifikat, kör följande kommandon:
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
Steg 5: Konfigurera Nginx för att använda SSL/TLS
Öppna Nginx konfigurationsfilen för webbplatsen du vill säkra:
sudo vi /etc/nginx/sites-available/your_domain
Lägg till följande rader i konfigurationsfilen för att aktivera 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)
}
}
Steg 6: Aktivera konfigurationen och starta om Nginx
Skapa en symbolisk länk från konfigurationsfilen till sites-available
för sites-enabled
att aktivera konfigurationen:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
Kontrollera om Nginx konfigurationen har några fel:
sudo nginx -t
Om det inte finns några fel, starta om Nginx tjänsten för att tillämpa den nya konfigurationen:
sudo systemctl restart nginx
När den är klar kommer din webbplats att säkras med SSL/TLS. Observera att användning av självsignerade certifikat kommer att resultera i att webbläsaren varnar om otillförlitliga certifikat. För att ha ett pålitligt SSL/TLS-certifikat måste du köpa eller skaffa ett gratis certifikat från en certifikatutfärdare.