Nida Regita F SEO Technical Writer at Niagahoster. An aquarius girl who loves music, watching movies and of course writing.

Panduan Install Nginx SSL di Ubuntu 20.04

4 min read

Konfigurasi SSL di CyberPanel

Anda ingin menginstall SSL pada VPS dengan web server Nginx? Inilah artikel yang tepat untuk Anda. Kami akan menjelaskan cara install Nginx SSL di VPS Ubuntu dalam beberapa langkah mudah.

Namun, kenapa sih langkah install SSL harus dilakukan? Secure Socket Layer (SSL) mampu mengamankan pertukaran data pada website, sehingga akan membuatnya lebih aman dan SEO friendly. 

Nah, di antara jenis sertifikat SSL, Self-Signed Certificate cukup banyak digunakan. Jadi, pada tutorial kali ini, kami akan menjelaskan bagaimana cara install SSL Self-Signed di web server Nginx.

Simak panduan lengkap di bawah ini!

Cara Install SSL di Nginx Ubuntu 20.04

Kalau VPS Ubuntu 20.04 dengan web server Nginx Anda sudah siap, silakan ikuti lima langkah tutorial install Nginx SSL berikut ini:

  1. Membuat Self-Signed SSL Certificate
  2. Konfigurasi Nginx
  3. Menyesuaikan Firewall
  4. Mengaktifkan Perubahan Konfigurasi Nginx SSL
  5. Melakukan Testing

Nah, berikut ini panduan lengkapnya:

Baca Juga : Cara Install LEMP di Ubuntu

1. Membuat Self-Signed SSL Certificate

Self-signed certificate adalah sertifikat SSL gratis yang dibuat dan ditandatangani sendiri oleh pembuatnya, bukan oleh otoritas sertifikat terpercaya seperti Let’s Encrypt

Walau begitu, tingkat enkripsinya sama dengan sertifikat SSL yang ditandatangani Certificate Authority (CA). Biasanya, self-signed certificate digunakan untuk tujuan pengujian atau penggunaan internal.

Untuk membuat self-signed SSL, Anda perlu menginstal open SSL Nginx terlebih dulu dengan menjalankan perintah berikut ini:

sudo apt install openssl

Jika sudah terinstall, Anda bisa mengeceknya dengan perintah:

openssl version

Sebagai output, Anda akan melihat versi dari open SSL Nginx yang terinstall pada server.

Nah, sekarang Anda bisa membuat self-signed SSL certificate dengan menggunakan perintah openssl req di bawah ini:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

Perintah di atas akan membuat file key dan sertifikat. Ketika perintah dijalankan, Anda diharuskan untuk mengisi informasi sertifikat seperti terlihat pada gambar di bawah ini:

mengisi informasi self signed certificate

Informasi yang harus Anda isi adalah sebagai berikut:

  • country name
  • state 
  • locality name 
  • organization name
  • organizational unit name 
  • common name 
  • email address 

Bagian yang terpenting adalah baris common name, pastikan Anda menuliskan nama domain atau IP server Anda dengan benar.

Jika sudah selesai, jangan lupa tekan Enter. Nantinya, file key dan sertifikat yang Anda buat akan disimpan di direktori /etc/ssl.

Selanjutnya, Anda perlu membuat file dhparam.pem yang akan digunakan saat konfigurasi Nginx. Untuk membuatnya, silakan jalankan perintah berikut ini:

sudo openssl dhparam -out /etc/nginx/dhparam.pem 4096

Proses pembuatan file tersebut akan berlangsung cukup lama, tunggulah hingga proses selesai dengan sempurna. 

2. Konfigurasi Nginx SSL

Pada tahap ini, Anda akan melakukan konfigurasi Nginx SSL. Pertama-tama, buatlah file dengan nama self-signed.conf pada direktori /etc/nginx/snippets dengan menjalankan perintah berikut:

sudo nano /etc/nginx/snippets/self-signed.conf

Kemudian, salinlah path file key dan file sertifikat berikut ini pada file self-signed.conf:

ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

Jika sudah ditambahkan, tekan tombol CTRL + X pada keyboard untuk menyimpan file.

Langkah konfigurasi Nginx SSL selanjutnya adalah membuat file dengan nama ssl-params.conf untuk menyimpan konfigurasi SSL. Anda dapat membuatnya dengan menjalankan perintah berikut:

sudo nano /etc/nginx/snippets/ssl-params.conf

Jika file sudah terbuka, salinlah kode konfigurasi berikut ini pada file tersebut:

ssl_protocols TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/dhparam.pem;
ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
ssl_ecdh_curve secp384r1;
ssl_session_timeout  10m;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
# Disable strict transport security for now. You can uncomment the following
# line if you understand the implications.
#add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";

Simpan dan tutup file tersebut jika Anda sudah selesai menyalin kode konfigurasi.

Selanjutnya, ubah konfigurasi server block Anda untuk domainanda.com pada  direktori sites-available. Namun sebelumnya, lakukan dulu backup file konfigurasi dengan menjalankan perintah di bawah ini:

sudo cp /etc/nginx/sites-available/domainanda.com /etc/nginx/sites-available/domainanda.com.bak

Kalau sudah, Anda bisa membuka file konfigurasi server block dengan perintah:

sudo nano /etc/nginx/sites-available/domainanda.com

Tambahkan kode konfigurasi Nginx HTTPS (port 443) di bawah ini pada file konfigurasi server block:

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    include snippets/self-signed.conf;
    include snippets/ssl-params.conf;

root /var/www/domainanda.com/html;
        index index.html index.htm index.nginx-debian.html;

  server_name domainanda.com www.domainanda.com;

  location / {
                try_files $uri $uri/ =404;
        }
}

Lalu, tambahkan server block berikut ini setelah tanda tutup kurawal (}) server block Nginx HTTPS:

server {
    listen 80;
    listen [::]:80;

    server_name domainanda.com www.domainanda.com;

    return 302 https://$server_name$request_uri;
}

Simpan dan tutup file konfigurasi jika Anda sudah selesai melakukan perubahan.

3. Menyesuaikan Firewall

Jika Anda mengaktifkan firewall ufw di server, Anda bisa mengecek ketersediaan profile Nginx HTTPS dengan menggunakan perintah berikut:

sudo ufw app list

Perintah tersebut akan menghasilkan output seperti ini:

mengecek profile nginx

Anda bisa mengecek status firewall ufw dengan perintah:

sudo ufw status

Perintah di atas akan memperlihatkan output seperti gambar di bawah ini:

mengecek status firewall

Output tersebut menunjukkan bahwa hanya trafik HTTP yang diizinkan masuk ke server. Untuk memberi izin pada trafik HTTPS, Anda bisa mengubah profile ufw menjadi Nginx Full dan menghapus Nginx HTTP dengan perintah berikut:

sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'

Jalankan lagi perintah sudo ufw status, maka Anda akan mendapatkan output seperti ini:

mengecek status ufw nginx https

4. Mengaktifkan Perubahan Konfigurasi Nginx SSL

Pada langkah sebelumnya, Anda sudah berhasil melakukan konfigurasi Nginx SSL dan menyesuaikan firewall. Sekarang, saatnya Anda  mengaktifkan konfigurasi yang telah Anda lakukan.

Pertama-tama, Anda perlu memastikan tidak ada syntax error pada file konfigurasi. Anda dapat mengeceknya dengan menjalankan perintah berikut:

sudo nginx -t

Anda akan mendapatkan output seperti ini jika tidak ada syntax error pada file Anda:

memastikan tidak ada syntax error di file konfigurasi

Nah, selanjutnya Anda hanya perlu melakukan restart Nginx untuk mengaktifkan perubahan konfigurasi. 

sudo systemctl restart nginx

Sampai sini, Anda sudah berhasil mengaktifkan Nginx SSL di server Anda. 

5. Melakukan Testing 

Sekarang, Anda bisa melakukan testing SSL server dengan mengakses URL berikut ini pada web browser Anda:

https://IPserverAnda

Anda akan melihat peringatan seperti ini saat mengakses alamat tersebut:

testing ssl nginx

Tidak perlu khawatir karena peringatan ini normal didapatkan jika Anda menggunakan self-signed SSL certificate. Anda bisa mengatasinya dengan cara klik tombol Advanced, lalu klik Proceed to domain anda:

mengarahkan halaman ke domain anda

Dengan begitu, harusnya sekarang Anda sudah berhasil diarahkan menuju website Anda.

Baca Juga : Konfigurasi SSL di CyberPanel

Kesimpulan

Demikianlah cara install open SSL Nginx di VPS Ubuntu. Di tutorial ini, Anda sudah belajar cara memasang Self-Signed SSL Certificate untuk mengamankan website. 

Meskipun gratis, tingkat enkripsi Self-Signed Certificate ini sudah cukup baik. Pun demikian, sertifikat SSL yang telah divalidasi oleh CA tetap lebih direkomendasikan. Contohnya, Comodo SSL

Comodo SSL adalah private SSL yang dibekali dengan fitur keamanan terlengkap dan kemudahan penggunaan. Mulai dari 128/256 bit SSL Encryption, Domain Validation SSL certificate (DV) yang cocok untuk berbagai jenis website, hingga proses aktivasi instan.

Untungnya, sebagai pengguna Niagahoster, Anda bisa menggunakan sertifikat Comodo SSL ini hanya dengan harga Rp115.000/tahun!

Selain bisa menikmati fitur Comodo SSL, Anda juga akan mendapatkan layanan support 24 jam untuk membantu Anda jika menemui kendala dan garansi 30 hari uang kembali.

Dengan menggunakan Comodo SSL, tingkat keamanan dan kepercayaan klien terhadap website Anda akan meningkat! Yuk, mulai gunakan sertifikat Comodo SSL terbaik untuk VPS dengan server Nginx Anda!

Nida Regita F SEO Technical Writer at Niagahoster. An aquarius girl who loves music, watching movies and of course writing.

Leave a Reply

Your email address will not be published.