Untuk mengonfigurasi SSL/TLS dengan Nginx on Ubuntu, Anda dapat mengikuti langkah-langkah berikut:
Langkah 1: Instal Nginx
Jika Anda belum menginstal Nginx, jalankan perintah berikut untuk menginstalnya:
sudo apt update
sudo apt install nginx
Langkah 2: Instal OpenSSL
Jika Anda belum menginstal OpenSSL, instal menggunakan perintah berikut:
sudo apt install openssl
Langkah 3: Buat direktori untuk file sertifikat SSL
Buat direktori untuk menyimpan file sertifikat SSL:
sudo mkdir /etc/nginx/ssl
Langkah 4: Buat sertifikat SSL/TLS yang ditandatangani sendiri(Opsional)
Jika Anda tidak menggunakan sertifikat SSL dari otoritas sertifikat, Anda dapat membuat sertifikat yang ditandatangani sendiri dengan OpenSSL. Ini berguna untuk menguji SSL/TLS di lingkungan pengembangan. Untuk membuat sertifikat yang ditandatangani sendiri, jalankan perintah 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: Konfigurasi Nginx untuk menggunakan SSL/TLS
Buka Nginx file konfigurasi untuk situs web yang ingin Anda amankan:
sudo vi /etc/nginx/sites-available/your_domain
Tambahkan baris berikut ke file konfigurasi untuk mengaktifkan 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: Aktifkan konfigurasi dan mulai ulang Nginx
Buat tautan simbolis dari file konfigurasi untuk sites-available
mengaktifkan sites-enabled
konfigurasi:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
Periksa apakah Nginx konfigurasi memiliki kesalahan:
sudo nginx -t
Jika tidak ada kesalahan, mulai ulang Nginx layanan untuk menerapkan konfigurasi baru:
sudo systemctl restart nginx
Setelah selesai, situs web Anda akan diamankan dengan SSL/TLS. Perhatikan bahwa menggunakan sertifikat yang ditandatangani sendiri akan menghasilkan peringatan browser tentang sertifikat yang tidak dipercaya. Untuk memiliki sertifikat SSL/TLS tepercaya, Anda perlu membeli atau mendapatkan sertifikat gratis dari otoritas sertifikat.