Cara Konfigurasi Reverse Proxy di aaPanel (Nginx dan Apache)
Halo DomaiNesians! Jika kamu mengelola lebih dari satu aplikasi atau layanan di server, kamu pasti akan menemui kebutuhan untuk melakukan reverse proxy. Fitur ini sangat penting agar kamu bisa menjalankan beberapa aplikasi di satu server dengan domain yang berbeda, atau menyembunyikan port internal di balik domain publik.
Di artikel kali ini kita akan membahas tuntas cara konfigurasi reverse proxy di aaPanel, baik untuk Nginx maupun Apache. Kita juga akan membahas konsep dasarnya, cara mengatur, sampai tips troubleshooting agar server kamu lebih rapi, aman, dan efisien.
Apa Itu Reverse Proxy?
Sebelum membahas langkah-langkah teknis, mari kita pahami dulu konsep reverse proxy itu sendiri. Reverse proxy adalah server yang bertindak sebagai perantara dan berdiri di depan satu atau lebih server backend (aplikasi internal). Reverse proxy bertugas untuk meneruskan permintaan (request) dari klien (pengguna) ke server internal yang sebenarnya.
Kebalikan dari reverse proxy adalah forward proxy yang digunakan client untuk mengakses server luar. Berikut gambaran sederhananya:
Client > Reverse Proxy (Nginx/Apache) > Aplikasi Internal (misal Node.js, PHP-FPM, atau service di port tertentu)
Fungsi utama reverse proxy:
- Menyembunyikan port non-standar (misalnya 3000, 8080) di balik port HTTP (80) atau HTTPS (443).
- Mengelola sertifikat SSL (HTTPS) hanya di reverse proxy. Request ke aplikasi internal dapat diteruskan menggunakan HTTP (lebih efisien).
- Mengarahkan domain atau subdomain yang berbeda ke aplikasi internal yang berjalan di port yang berbeda.
- Mendistribusikan beban trafik ke beberapa server backend yang sama.
Persiapan Sebelum Konfigurasi
Setelah kalian memahami apa itu konsep reverse proxy, berikut adalah beberapa hal yang perlu kalian siapkan sebelum mulai mengatur reverse proxy di aaPanel:
- aaPanel sudah terinstal dan berjalan normal. Jika kamu belum menginstal aaPanel, kamu bisa mengikuti tutorial instalasi aaPanel berikut ini.
- Domain atau subdomain sudah diarahkan (Record A) ke IP Publik server aaPanel.
- Aplikasi internal sudah berjalan di port tertentu (misalnya Node.js di port 3000)
- Firewall aaPanel sudah membuka port aplikasi internal (jika diperlukan) agar web server (Nginx/Apache) di server yang sama bisa mengaksesnya.
- Pastikan kamu tahu apakah server web kamu menggunakan Nginx atau Apache (kamu bisa cek di menu App Store aaPanel)
Cara Konfigurasi Reverse Proxy di aaPanel untuk Nginx
Nginx adalah salah satu web server yang cukup populer sebagai reverse proxy karena dikenal ringan dan cepat. Hal inilah yang menjadikannya pilihan ideal sebagai reverse proxy. Berikut langkah-langkah konfigurasi reverse proxy di aaPanel untuk Nginx:
1. Tambah Website di aaPanel
a. Masuk aaPanel > Website > Add Site
b. Isi form Add Site dengan memasukkan nama domain/subdomain yang akan kamu gunakan sebagai reverse proxy dan data lainnya.
2. Masuk ke Konfigurasi Reverse Proxy
a. Setelah domain ditambahkan, klik domain tersebut
b. Buka tab Reverse proxy kemudian klik tombol “Add reverse proxy”
c. Di sini kamu akan melihat form:
- Proxy name: nama konfigurasi proxy, contoh: django_proxy
- Proxy dir: Path yang akan diproxy. Contoh: / (root), /app, /api/v1, dan lain-lain.
- Target URL: alamat aplikasi internal, misalnya http://127.0.0.1:3000. Harus pakai protokol http:// atau https://.
- Sent Domain: Header Host yang dikirim ke backend. Default $host artinya domain asli diteruskan.
- Show Proxy Path:
- Jika ON, reverse proxy hanya berlaku pada path tertentu (misal /api).
- Jika OFF, seluruh domain diarahkan ke target URL (full proxy).
- Default ON karena form menampilkan field Proxy dir.
- Enable Cache:
- Jika diaktifkan, aaPanel akan menambahkan rule caching pada Nginx untuk response dari backend.
- Biasanya OFF kecuali traffic besar dan API statis.
- Advanced feature: menampilkan opsi tambahan seperti URL Rewrite dan Content replacement.
d. Klik Confirm.
3. Cek File Konfigurasi Nginx
Kalau kamu ingin memastikan, buka opsi Modify. Akan muncul konfigurasi semacam ini:
Contoh 1: Reverse Proxy dengan Path Prefix (/api)
Jika kamu ingin semua permintaan ke https://domainkamu.com/api diarahkan ke aplikasi backend (misalnya API di port 5000):
|
1 2 3 4 5 6 |
location / { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } |
Contoh 1: Reverse Proxy dengan Path Prefix (/api)
Untuk aplikasi yang membutuhkan waktu pemrosesan lebih lama (misalnya upload file besar atau laporan):
|
1 2 3 4 5 6 7 8 9 10 11 12 |
location / { proxy_pass http://127.0.0.1:3000; # Timeout proxy_connect_timeout 60s; # Waktu untuk membangun koneksi proxy_send_timeout 60s; # Waktu untuk mengirim data ke backend proxy_read_timeout 180s; # Waktu untuk menunggu respons dari backend (ditingkatkan) # Header Standar 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; # Penting untuk aplikasi yang mendeteksi HTTPS } |
Kamu bisa edit sesuai kebutuhan, misalnya menambahkan header khusus atau mengatur caching.
4. Pasang SSL Jika Diperlukan
a. Buka tab SSL pada domain
b. Pilih Let’s Encrypt atau upload SSL custom kamu
c. Aktifkan Force HTTPS jika perlu
d. SSL akan melakukan terminate di Nginx, lalu request akan diteruskan ke aplikasi internal tanpa SSL (HTTP).
5. Restart Nginx
Setelah konfigurasi selesai, restart Nginx lewat menu Service atau klik Restart di aaPanel agar perubahan aktif.
Cara Konfigurasi Reverse Proxy di aaPanel untuk Apache
Jika kamu menggunakan Apache sebagai web server utama, langkah-langkah konfigurasinya akan sedikit berbeda.
1. Tambah Website di aaPanel
a. Masuk aaPanel > Website > Add Site
b. Isi form Add Site dengan memasukkan nama domain/subdomain dan data lainnya yang diperlukan.
2. Masuk Konfigurasi Reverse Proxy
a. Klik domain untuk membuka menu Site modification.
b. Buka tab Reverse proxy kemudian klik “Add reverse proxy”
c. Isi form Add reverse proxy seperti sebelumnya.
d. Klik Confirm untuk menyimpan konfigurasi.
3. Cek File Konfigurasi Apache
Jika kamu ingin melihat hasil konfigurasi reverse proxy, buka opsi Modify. Kamu akan melihat konfigurasi semacam ini:
|
1 2 3 |
ProxyPreserveHost On ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/ |
Pastikan modul proxy dan proxy_http aktif. Di aaPanel biasanya sudah otomatis aktif jika kamu mengaktifkan reverse proxy lewat panel.
4. Pasang SSL Jika Diperlukan
Sama seperti di Nginx:
a. Masuk tab SSL pada domain
b. Pilih Let’s Encrypt atau custom SSL
c. Aktifkan Force HTTPS jika mau semua trafik pakai HTTPS
5. Restart Apache
Klik Restart pada menu Service Apache di aaPanel.
Contoh Penggunaan Reverse Proxy
Berikut adalah beberapa contoh penggunaan atau penerapan reverse proxy yang bisa kamu jadikan sebagai referensi:
1. Menyembunyikan Port Aplikasi Node.js
Biasanya aplikasi Node.js berjalan di port tertentu (misalnya 3000). Tanpa reverse proxy, pengguna harus mengetik http://namaserver:3000 untuk mengaksesnya. Dengan reverse proxy di aaPanel, kamu bisa:
- Domain publik: https://app.kamu.com
- Aplikasi internal: http://127.0.0.1:3000
aaPanel akan meneruskan request domain publik ke port internal tanpa mengekspos port ke pengguna. Hal ini membuat tampilan lebih profesional dan meningkatkan keamanan karena port internal tidak langsung diakses publik.
2. Menggabungkan Beberapa Aplikasi di Satu Server
Jika kamu punya lebih dari satu aplikasi di server yang sama tapi port berbeda, reverse proxy mempermudah manajemennya. Misalnya:
- https://api.kamu.com untuk Backend Laravel (PHP-FPM)
- https://app.kamu.com untuk Frontend React/Node.js
Keduanya berjalan di server sama tapi port berbeda. Dengan reverse proxy, masing-masing subdomain diarahkan otomatis ke port aplikasi masing-masing. Hasilnya, satu server bisa melayani banyak aplikasi dengan domain/subdomain berbeda tanpa bentrok.
3. Load Balancing Sederhana
Selain routing, Nginx di aaPanel juga mendukung load balancing untuk membagi beban request ke beberapa server atau port. Contohnya:
|
1 2 3 4 5 6 7 8 |
upstream backend { server 127.0.0.1:3000; server 127.0.0.1:3001; } location / { proxy_pass http://backend; } |
Konfigurasi ini membuat Nginx mendistribusikan traffic secara bergantian antara port 3000 dan 3001. Dengan load balancing sederhana ini, aplikasi bisa lebih stabil dan skalabel.
Troubleshooting Umum Saat Konfigurasi Reverse Proxy
Dalam mengatur reverse proxy untuk Nginx atau Apache di aaPanel, kamu mungkin akan menemui beberapa kendala. Berikut beberapa kendala yang biasanya terjadi saat proses konfigurasi reverse proxy di aaPanel dan cara menyelesaikannya:
1. 502 Bad Gateway di Nginx
Jika kamu mengalami error 502 Bad Gateway pada Nginx, kemungkinan besar aplikasi internal yang jadi backend sedang mati atau port yang digunakan salah. Solusinya, cek terlebih dahulu apakah aplikasi internal berjalan dengan normal dan pastikan port yang dipakai sesuai dengan konfigurasi yang ada di Nginx.
2. SSL Error
Error SSL biasanya muncul karena sertifikat SSL belum diatur dengan benar atau sudah expired. Cara termudah untuk mengatasinya adalah memasang ulang sertifikat SSL melalui menu SSL di aaPanel, atau memperbarui sertifikat yang sudah kedaluwarsa.
3. Apache Tidak Jalan
Jika Apache kamu tidak berjalan atau gagal start, salah satu penyebab umumnya adalah modul proxy belum aktif. Kamu bisa mengaktifkan modul proxy dan proxy_http di Apache agar fitur reverse proxy dan pengalihan koneksi berjalan normal.
4. Respon Server Lambat
Respon server yang lambat biasanya disebabkan oleh resource server yang rendah atau konfigurasi Nginx/Apache yang belum optimal. Untuk mengatasinya, kamu bisa melakukan optimasi konfigurasi server atau upgrade spesifikasi VPS agar performanya meningkat.
5. IP Client Salah
Kadang IP client yang ditampilkan server tidak sesuai dengan IP asli pengunjung. Hal ini biasanya karena header tidak diteruskan dengan benar. Untuk memperbaikinya, tambahkan proxy_set_header pada konfigurasi Nginx atau gunakan ProxyPreserveHost di Apache supaya alamat IP client diteruskan dengan benar.
Kesimpulan
Mengatur reverse proxy di aaPanel untuk Nginx maupun Apache adalah cara terbaik untuk menggabungkan beberapa layanan atau menyembunyikan port aplikasi internal di balik domain publik.
Dengan reverse proxy kamu bisa menyediakan satu pintu akses ke banyak aplikasi, mempermudah SSL dan keamanan, sampai mengatur domain dan subdomain dengan mudah.
Jika kamu butuh server yang kuat, stabil, dan mudah dikelola untuk menjalankan banyak aplikasi sekaligus dengan reverse proxy, Cloud VPS DomaiNesia adalah pilihan ideal. Dengan Cloud VPS DomaiNesia kamu dapat kontrol penuh, performa tinggi, dan kemudahan manajemen lewat aaPanel untuk semua kebutuhan proyek kamu.







