1. Apa Itu Reverse Proxy?
Dalam arsitektur web modern, reverse proxy adalah server yang menerima request dari client (browser), lalu meneruskannya ke satu atau lebih backend server. Client tidak pernah berkomunikasi langsung dengan server aplikasi — semua request melewati proxy terlebih dahulu.
Bayangkan reverse proxy seperti resepsionis di gedung perkantoran. Ketika ada tamu yang datang, resepsionis akan memeriksa identitas, lalu mengarahkan tamu ke ruangan yang tepat. Tamu tidak perlu tahu letak ruangan — mereka cukup datang ke resepsionis.
Forward Proxy vs Reverse Proxy
| Aspek | Forward Proxy | Reverse Proxy |
|---|---|---|
| Siapa yang dilayani | Client | Server |
| Tujuan utama | Menyembunyikan identitas client | Menyembunyikan server backend |
| Konfigurasi | Di sisi client | Di sisi server |
| Contoh penggunaan | VPN, web filter kantor | Load balancer, SSL offloading |
| Arah request | Client → Proxy → Internet | Client → Proxy → Backend Server |
Mengapa Reverse Proxy Penting untuk IoT?
Ketika kamu membangun sistem IoT dengan dashboard web, API server, atau MQTT broker, reverse proxy memberikan banyak keuntungan:
- SSL Termination — Satu sertifikat SSL di proxy, tidak perlu di setiap backend
- Load Balancing — Distribusi traffic ke beberapa server agar tidak overload
- Keamanan — Backend server tidak terekspos langsung ke internet
- Caching — Response statis disimpan di proxy sehingga backend tidak terbebani
- Kompressi — Gzip/Brotli compression untuk mempercepat transfer data
- Single Entry Point — Semua layanan (API, dashboard, MQTT WebSocket) di satu domain
Smart Farming Dashboard: Kamu punya API server Node.js di port 3000 dan Grafana dashboard di port 3000. Dengan Nginx reverse proxy, kamu bisa mengakses keduanya dari satu domain — api.smartfarm.com dan dashboard.smartfarm.com — dengan SSL otomatis dan keamanan yang ketat.
2. Instalasi Nginx
Nginx tersedia di hampir semua distribusi Linux. Berikut cara instalasi di berbagai platform: