Skip to content

zaidan's blog

a newbie, writing IT-related stuff and some personal experiences

Menu
  • IT
  • Personal life/opinion
  • Linux
  • Sepeda
  • Proxmox
  • VM/Container
  • Kuliah/Catatan Kuliah
Menu

Instalasi NGINX dan SSL Let’s Encrypt

Posted on 24/06/202524/06/2025 by Zaidan

Di timeline pembelajaran SSL saya, instalasi SSL di NGINX merupakan salah satu hal yang perlu saya coba dan pelajari. Sebelumnya saya sudah coba untuk instal SSL di Apache (cek link ini) dan kali ini saya coba pada sistem NGINX.

Untuk sistemnya, kita bisa siapkan terlebih dahulu VM/CT-nya. Pengujian yang saya lakukan menggunakan CT Debian polosan dan belum ada NGINX-nya, sehingga kita perlu instal terlebih dahulu.

SSL-nya menggunakan layanan SSL gratis yaitu Let’s Encrypt dan validasinya menggunakan metode DNS (saya ada akses ke domain zaidan.web.id – yang akan digunakan untuk pengujian kali ini).

Instalasi NGINX

Persiapkan CT dan lakukan update-upgrade terlebih dahulu. Lalu lakukan instalasi NGINX.

apt update && apt upgrade
apt install nginx -y

Setelah instalasi NGINX, coba tes dengan membuka web browser dan gunakan alamat IP dari CT yang digunakan.

Konfigurasi agar NGINX dijalankan secara otomatis.

systemctl enable nginx
systemctl start nginx

Instalasi SSL

Untuk penggunaan SSL, pada pengujian kali ini menggunakan tool bernama Certbot. Bisa diinstal dengan perintah:

apt install certbot -y

Selanjutnya, kita buat sertifikat SSL Let’s Encrypt-nya. Berikut contoh sintaks yang bisa digunakan:

certbot certonly --manual --preferred-challenges dns -d [domain]

Isi keterangannya sesuai dengan sistem yang digunakan.

Nantinya, Cerbot akan memberikan TXT record untuk ditambahkan pada panel DNS.

Pada panel DNS, saya juga menambahkan subdomain nginx.zaidan.web.id serta menambahkan record yang dibuat oleh Certbot.

Konfigurasi NGINX Lanjutan

Ada konfigurasi lanjutan agar NGINX-nya mendukung penggunaan SSL. Saya sempat bermasalah di bagian ini karena salah dalam penulisan teks dan juga penempataannya.
File konfigurasi (default) untuk hal ini terletak di /etc/nginx/sites-available/default.
Ada dua blok utama yang perlu diperhatikan dari file konfigurasi ini. Yaitu blok untuk port 80 (untuk redirect HTTP ke HTTPS) dan juga port 443.
Berikut contoh bagian dari file tersebut:

server {
   listen 80;
   server_name nginx.zaidan.web.id;
   return 301 https://$host$request_uri;
}
server {
   listen 443 ssl;
   server_name nginx.zaidan.web.id;
   ssl_certificate /etc/letsencrypt/live/nginx.zaidan.web.id/fullchain.pem;
   ssl_certificate_key /etc/letsencrypt/live/nginx.zaidan.web.id/privkey.pem;
   root /var/www/html;
   index index.html index.htm;
   location / {
    try_files $uri $uri/ =404;
   }
}
  • Blok pertama (port 80) berfungsi untuk menyatakan bahwa blok tersebuit digunakan untuk menangani trafik HTTP
  • server_name nginx.zaidan.web.id;, artinya sistem hanya akan memproses permintaan untuk domain tersebut.
  • return 301 https://$host$request_uri;, untuk mengarahkan permintaan HTTP ke HTTPS.
  • Blok kedua (port 443) digunakan untuk konfigurasi HTTPS-SSL.
  • ssl_certificate & ssl_certificate_key digunakan untuk mengarahkan ke file SSL dan private key (dalam hal ini, yang diterbitkan oleh Let’s Encrypt).
  • root & index digunakan untuk mengarahkan ke file website dan indeks (default directory).

Uji Konfigurasi

Kita perlu tes konfigurasinya dan restart NGINX:

nginx -t
systemctl reload nginx

Gambar di bawah ini menampilkan konfigurasi yang sudah berhasil (tampilan di web browser).

image host 

Untuk tulisan kali ini sampai di sini dulu ya. Sampai jumpa. Bye.

1 thought on “Instalasi NGINX dan SSL Let’s Encrypt”

  1. Vavai says:
    24/06/2025 at 23:40

    Bisa dilanjut dengan instalasi SSL commercial bang

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tulisan saya yang lain:

  • Datacenter
  • Manajemen File di Linux – part 3 – Ekstensi File di Linux
  • Penggunaan Dasar GNOME3 di Red Hat Enterprise Linux 8
  • Menandai VM/CT di Proxmox VE

Arsip blog

  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
© 2025 zaidan's blog | Powered by Superbs Personal Blog theme