Mengkonfigurasi SSL/TLS dengan Nginx on Ubuntu

Untuk mengkonfigurasi SSL/TLS dengan Nginx pada Ubuntu, anda boleh mengikuti langkah berikut:

Langkah 1: Pasang Nginx

Jika anda belum memasang Nginx, jalankan arahan berikut untuk memasangnya:

sudo apt update  
sudo apt install nginx

Langkah 2: Pasang OpenSSL

Jika anda tidak memasang OpenSSL, pasangkannya menggunakan arahan berikut:

sudo apt install openssl

Langkah 3: Buat direktori untuk fail sijil SSL

Buat direktori untuk menyimpan fail sijil SSL:

sudo mkdir /etc/nginx/ssl

Langkah 4: Hasilkan sijil SSL/TLS yang ditandatangani sendiri(Pilihan)

Jika anda tidak menggunakan sijil SSL daripada pihak berkuasa sijil, anda boleh menjana sijil yang ditandatangani sendiri dengan OpenSSL. Ini berguna untuk menguji SSL/TLS dalam persekitaran pembangunan. Untuk membuat sijil yang ditandatangani sendiri, jalankan arahan berikut:

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  

Langkah 5: Konfigurasikan Nginx untuk menggunakan SSL/TLS

Buka Nginx fail konfigurasi untuk tapak web yang anda ingin selamatkan:

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

Tambahkan baris berikut pada fail konfigurasi untuk mendayakan 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)  
    }  
}  

Langkah 6: Dayakan konfigurasi dan mulakan semula Nginx

Buat pautan simbolik daripada fail konfigurasi ke sites-available untuk sites-enabled mendayakan konfigurasi:

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

Semak sama ada Nginx konfigurasi mempunyai sebarang ralat:

sudo nginx -t

Jika tiada ralat, mulakan semula Nginx perkhidmatan untuk menggunakan konfigurasi baharu:

sudo systemctl restart nginx

Setelah selesai, tapak web anda akan dilindungi dengan SSL/TLS. Ambil perhatian bahawa menggunakan sijil yang ditandatangani sendiri akan menghasilkan amaran penyemak imbas tentang sijil yang tidak dipercayai. Untuk memiliki sijil SSL/TLS yang dipercayai, anda perlu membeli atau mendapatkan sijil percuma daripada pihak berkuasa sijil.