Yang perlu dipahami terlebih dahulu
Reverse proxy menerima request dari pengguna lalu meneruskannya ke aplikasi. Nginx dapat menangani domain, HTTPS, aset statis, serta pengaturan koneksi tanpa mengharuskan aplikasi langsung mendengarkan pada port publik standar.
Konfigurasi harus mengikuti perilaku aplikasi. API biasa, streaming, upload besar, dan WebSocket memiliki kebutuhan yang tidak identik.
Pisahkan domain dan upstream
Server block mengaitkan nama domain dengan aturan layanan. Upstream mengarah ke proses aplikasi yang benar. Pastikan host default tidak tanpa sengaja melayani domain yang berbeda, dan periksa aplikasi internal sebelum menyimpulkan proxy bermasalah.
Teruskan konteks request secara aman
Aplikasi dapat membutuhkan informasi host, protokol asli, dan IP klien. Konfigurasikan trusted proxy dengan benar; jangan mempercayai header dari internet tanpa batas. Ketidaksesuaian protokol dapat menyebabkan redirect loop ketika TLS berhenti di proxy.
Uji sintaks sebelum perubahan diterapkan
Periksa konfigurasi sebelum reload dan pertahankan cadangan versi sebelumnya. Nilai timeout serta buffering berdasarkan kebutuhan aplikasi. Jangan menaikkan semua batas tanpa diagnosis karena hal itu dapat menyembunyikan sumber masalah atau menambah pemakaian sumber daya.
sudo nginx -t
ss -tulpn
curl -I http://127.0.0.1:PORT_APLIKASI/
Periksa sebelum diterapkan
- Verifikasi domain dan port upstream.
- Atur trusted proxy dengan benar.
- Uji sintaks sebelum reload.
Ganti PORT_APLIKASI dengan port nyata. Pemeriksaan konfigurasi membutuhkan izin yang sesuai dan tidak perlu mengubah layanan terlebih dahulu.
Pertanyaan tentang Memahami Reverse Proxy Nginx untuk VPS
Apa arti 502 Bad Gateway?
Proxy gagal memperoleh respons upstream yang sesuai. Periksa apakah aplikasi hidup, port benar, protokol cocok, dan log menunjukkan kegagalan koneksi atau respons.
Apakah semua aplikasi memerlukan aturan WebSocket?
Tidak. Tambahkan dukungan sesuai aplikasi yang memang menggunakan upgrade koneksi, bukan secara acak pada seluruh konfigurasi.
Perlu memastikan kebutuhan Anda?
Tanyakan kepada tim