Konfiguriranje SSL/TLS s Nginx uključenim Ubuntu

Da biste konfigurirali SSL/TLS s Nginx onom Ubuntu, možete slijediti ove korake:

Korak 1: Instalirajte Nginx

Ako niste instalirali Nginx, pokrenite sljedeće naredbe da biste ga instalirali:

sudo apt update  
sudo apt install nginx

Korak 2: Instalirajte OpenSSL

Ako nemate instaliran OpenSSL, instalirajte ga pomoću sljedeće naredbe:

sudo apt install openssl

Korak 3: Napravite direktorij za datoteke SSL certifikata

Napravite direktorij za pohranu datoteka SSL certifikata:

sudo mkdir /etc/nginx/ssl

Korak 4: Generirajte samopotpisane SSL/TLS certifikate(nije obavezno)

Ako ne koristite SSL certifikate ovlaštenog za izdavanje certifikata, možete generirati samopotpisane certifikate s OpenSSL-om. Ovo je korisno za testiranje SSL/TLS-a u razvojnom okruženju. Za izradu samopotpisanog certifikata pokrenite sljedeće naredbe:

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  

Korak 5: Konfigurirajte Nginx korištenje SSL/TLS-a

Otvorite Nginx konfiguracijsku datoteku za web mjesto koje želite zaštititi:

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

Dodajte sljedeće retke u konfiguracijsku datoteku kako biste omogućili 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)  
    }  
}  

Korak 6: Omogućite konfiguraciju i ponovno pokrenite Nginx

Stvorite simboličku vezu iz konfiguracijske datoteke u sites-available kako sites-enabled biste omogućili konfiguraciju:

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

Provjerite Nginx ima li konfiguracija grešaka:

sudo nginx -t

Ako nema pogrešaka, ponovno pokrenite Nginx uslugu za primjenu nove konfiguracije:

sudo systemctl restart nginx

Nakon dovršetka, vaša će web stranica biti zaštićena SSL/TLS-om. Imajte na umu da će korištenje samopotpisanih certifikata rezultirati upozorenjem preglednika o nepouzdanim certifikatima. Da biste imali pouzdani SSL/TLS certifikat, trebate kupiti ili dobiti besplatni certifikat od ovlaštenog tijela za izdavanje certifikata.