← Semua artikel
Tutorial Linux07 Nov 2026ariel3 menit baca

Nginx Reverse Proxy dan SSL dengan Certbot

Panduan konfigurasi Nginx reverse proxy, load balancer, dan SSL Let’s Encrypt, lengkap dengan topologi, contoh server block, dan langkah verifikasi.
Arsitektur Nginx Reverse Proxy dan Load Balancing

Dalam arsitektur mikroservis dan deployment web modern, aplikasi internal sering kali berjalan di berbagai port lokal (misalnya Docker container di port 3000, 8080, atau 5000). Menggunakan Nginx Reverse Proxy, Anda dapat mengarahkan domain publik ke aplikasi internal dengan aman, menerapkan load balancing multi-server, serta mengotomatisasi sertifikat enkripsi SSL gratis dari Let’s Encrypt.

Arsitektur Nginx Reverse Proxy dan Load Balancing
Ilustrasi: Nginx bertindak sebagai gerbang terdepan mendistribusikan trafik jaringan secara efisien dan mengamankan komunikasi data dengan SSL.

Praktik dari nol: hal yang wajib disiapkan

Nama app.example.com adalah placeholder dokumentasi, bukan domain yang bisa diterbitkan sertifikatnya. Pastikan A/AAAA record menunjuk ke host, backend pada port 3000/3001 benar-benar running, port challenge tersedia, dan sudo nginx -t berhasil sebelum mengubah konfigurasi. Setelah sertifikat valid, uji curl -I https://NAMA-DOMAIN-ASLI, routing tiap backend, dan sudo certbot renew --dry-run bila cocok dengan metode sertifikat.

Persiapan & pembuktian hasil sebelum mengikuti tutorial Nginx + Certbot

Kebutuhan dan dependensi

Nginx harus dipasang dan dapat membaca file konfigurasi sebelum menjalankan perintah reload. Sertifikat Let’s Encrypt membutuhkan domain yang mengarah ke server, metode challenge yang dapat diverifikasi, serta port yang sesuai. `certbot` dan plugin webserver tidak selalu terinstal bersama paket Nginx.

Perintah pemeriksaan awal

sudo apt update
sudo apt install nginx certbot python3-certbot-nginx
nginx -v
certbot --version
sudo nginx -t
curl -I https://example.com

Cara membuktikan konfigurasi berhasil

Uji `sudo nginx -t`, status service, respons HTTP/HTTPS, sertifikat dan chain, lalu lakukan dry-run pembaruan sertifikat pada setup yang memang mendukungnya. Periksa routing ke backend, bukan hanya munculnya halaman Nginx bawaan.

Risiko yang perlu dihindari

Jangan menjalankan `certbot –nginx` sebelum DNS domain serta konfigurasi HTTPS dan port 80/443 diaudit. Jangan memakai contoh domain untuk menerbitkan sertifikat.

Status verifikasi: instruksi di bagian ini adalah pemeriksaan yang harus dijalankan pada host sesuai kebutuhan. Tidak ada klaim bahwa konfigurasi seluruhnya telah diuji di server produksi Edelweis.

1. Konfigurasi Upstream Pool & Server Block Nginx

Buat file konfigurasi virtual host baru di /etc/nginx/sites-available/app.edelweis.my.id:

upstream backend_cluster {
    least_conn; # Algoritma koneksi terendah
    server 127.0.0.1:3000 max_fails=3 fail_timeout=10s;
    server 127.0.0.1:3001 max_fails=3 fail_timeout=10s;
}

server {
    listen 80;
    server_name app.example.com; # GANTI dengan FQDN milik Anda yang sudah aktif DNS

    location / {
        proxy_pass http://backend_cluster;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Dukungan WebSockets
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Aktifkan konfigurasi dengan membuat symlink: sudo ln -s /etc/nginx/sites-available/app.edelweis.my.id /etc/nginx/sites-enabled/.

2. Pasang Enkripsi SSL Otomatis dengan Certbot

Jalankan Certbot untuk memperoleh sertifikat SSL Let’s Encrypt dan mengonfigurasi pengalihan otomatis HTTP ke HTTPS:

# Sesuaikan app.example.com dengan domain publik milik Anda.
# Jangan jalankan Certbot untuk domain dokumentasi.
# sudo certbot --nginx -d NAMA-DOMAIN-ASLI

Certbot akan secara otomatis menambahkan timer systemd (certbot.timer) untuk memperbarui sertifikat sebelum kedaluwarsa secara berkala.

Langkah Verifikasi Implementasi

Kesimpulan & Rekomendasi Praktik Terbaik

Reverse proxy Nginx membantu memusatkan pengaturan HTTPS, routing, dan distribusi permintaan ke backend. Kapasitas trafik yang dapat dilayani tetap bergantung pada konfigurasi, sumber daya server, performa aplikasi, dan hasil pengujian beban.

Rujukan & bacaan lanjutan: untuk memeriksa sintaks dan perilaku konfigurasi, lihat dokumentasi resmi Nginx. Lanjutkan dengan panduan LEMP Stack Edelweis atau peta belajar. Pastikan langkah yang dipilih diuji pada lingkungan sendiri sebelum diterapkan ke produksi.

Catatan editorial: Diagram bersifat konseptual kecuali diberi label sebagai hasil uji. Verifikasi konfigurasi di perangkat lu sendiri sebelum dipakai pada sistem produksi.

END OF NOTE.Jelajahi artikel lain ↗

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *