Reverse Proxy #
Reverse proxy adalah salah satu penggunaan Nginx yang paling umum — dan paling powerful — di lingkungan production. Hampir setiap aplikasi web modern menempatkan Nginx di depan server aplikasinya: Node.js, Python, PHP, Ruby, Go, untuk menangani SSL termination, load balancing, caching, dan berbagai kebutuhan infrastruktur sebelum request menyentuh kode aplikasi.
Memahami cara kerja reverse proxy di Nginx adalah kunci untuk membangun arsitektur web yang efisien, aman, dan skalabel.
Peta Pembelajaran #
flowchart TD
A["🔀 Konsep Reverse Proxy\nForward vs Reverse,\nmengapa production butuhkan ini"] --> B["📡 proxy_pass\nTrailing slash, Unix socket,\nWebSocket, path rewriting"]
B --> C["📋 Proxy Headers\nX-Real-IP, X-Forwarded-For,\nadd_header inheritance trap"]
C --> D["⏱ Buffer & Timeout\nBuffering modes, 5 timeout types,\nkeepalive pool, error diagnosis"]
D --> E["💾 Proxy Cache\nCache zone, cache key,\nbypass strategy, stale cache"]
style A fill:none,stroke-width:2px
style B fill:none,stroke-width:2px
style C fill:none,stroke-width:2px
style D fill:none,stroke-width:2px
style E fill:none,stroke-width:2pxArtikel di Section Ini #
| Artikel | Apa yang Dipelajari |
|---|---|
| Konsep Reverse Proxy | Perbedaan forward dan reverse proxy, mengapa hampir semua aplikasi production menggunakannya, alur request dua koneksi terpisah, dan modifikasi header default |
| proxy_pass | Directive inti reverse proxy — perbedaan trailing slash yang kritis, proxy ke Unix socket, WebSocket, path rewriting, dan konfigurasi lengkap |
| Proxy Headers | Cara Nginx memodifikasi header secara default, proxy_set_header, proxy_hide_header, add_header untuk response, dan jebakan inheritance yang wajib dipahami |
| Buffer & Timeout | Cara kerja buffering, konfigurasi 5 jenis timeout, keepalive pool ke backend, tuning untuk streaming vs API, dan membaca kode error |
| Proxy Cache | Mendefinisikan zone cache, cache key, strategi bypass untuk user terautentikasi, stale cache saat backend error, dan cara purge cache |