SSL/TLS configureren met Nginx aan Ubuntu

Om SSL/TLS met Nginx aan te configureren Ubuntu, kunt u deze stappen volgen:

Stap 1: installeren Nginx

Als u nog niet hebt geïnstalleerd Nginx, voert u de volgende opdrachten uit om het te installeren:

sudo apt update  
sudo apt install nginx

Stap 2: Installeer OpenSSL

Als je OpenSSL niet hebt geïnstalleerd, installeer het dan met de volgende opdracht:

sudo apt install openssl

Stap 3: Maak een map voor SSL-certificaatbestanden

Maak een map om SSL-certificaatbestanden op te slaan:

sudo mkdir /etc/nginx/ssl

Stap 4: zelfondertekende SSL/TLS-certificaten genereren(optioneel)

Als u geen SSL-certificaten van een certificeringsinstantie gebruikt, kunt u zelfondertekende certificaten genereren met OpenSSL. Dit is handig voor het testen van SSL/TLS in een ontwikkelomgeving. Voer de volgende opdrachten uit om een ​​zelfondertekend certificaat te maken:

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  

Stap 5: Configureer Nginx om SSL/TLS te gebruiken

Open het Nginx configuratiebestand van de website die u wilt beveiligen:

sudo vi /etc/nginx/sites-available/your_domain

Voeg de volgende regels toe aan het configuratiebestand om SSL in te schakelen:

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)  
    }  
}  

Stap 6: Schakel de configuratie in en start opnieuw op Nginx

Maak een symbolische link van het configuratiebestand naar sites-available om sites-enabled de configuratie in te schakelen:

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

Controleer of de Nginx configuratie fouten bevat:

sudo nginx -t

Als er geen fouten zijn, start u de Nginx service opnieuw om de nieuwe configuratie toe te passen:

sudo systemctl restart nginx

Na voltooiing wordt uw website beveiligd met SSL/TLS. Houd er rekening mee dat het gebruik van zelfondertekende certificaten ertoe leidt dat de browser waarschuwt voor niet-vertrouwde certificaten. Om een ​​vertrouwd SSL/TLS-certificaat te hebben, moet u een gratis certificaat kopen of verkrijgen bij een certificeringsinstantie.