Cara Port Forwarding di VPS: Panduan Lengkap HTTP, TCP & UDP
この記事はインドネシア語で書かれています。
Port forwarding adalah teknik jaringan yang memungkinkan Anda mengakses aplikasi yang berjalan di dalam VPS dari internet. Di Helipod, port forwarding dikonfigurasi langsung melalui dashboard tanpa perlu perintah manual di terminal.
Apa itu Port Forwarding?#
Port forwarding (juga dikenal sebagai port mapping) adalah proses mengarahkan lalu lintas dari port eksternal server ke port internal di dalam VPS. Misalnya, aplikasi Node.js berjalan di port 3000 di dalam VPS, tetapi Anda ingin mengaksesnya dari port 8080 di IP publik server.
Internet → Server IP:8080 → VPS Internal:3000
Port Range di Helipod#
Setiap VPS di Helipod memiliki rentang port yang dapat digunakan. Rentang port ini ditampilkan di tab Network di dashboard VPS Anda.
- Port Eksternal: Harus berada dalam rentang yang ditentukan (kecuali HTTP/HTTPS)
- Port Internal: Port di mana aplikasi berjalan di dalam VPS
Jenis Port Forwarding#
1. TCP/UDP Port Forwarding#
Untuk aplikasi non-HTTP seperti:
- Game server (Minecraft, Valheim, dll)
- Database (MySQL, PostgreSQL, Redis)
- Aplikasi custom yang menggunakan TCP/UDP
Cara konfigurasi:
- Buka dashboard VPS → tab Network
- Klik Add Port
- Pilih protokol: TCP, UDP, atau TCP + UDP
- Masukkan Port Eksternal (harus dalam rentang port VPS)
- Masukkan Port Internal (port aplikasi di dalam VPS)
- Klik Add
Contoh kasus: MySQL berjalan di port 3306 di dalam VPS, Anda ingin mengaksesnya dari port 33060 di IP publik.
External: 33060 → Internal: 3306 (MySQL)
2. HTTP/HTTPS Port Forwarding#
Untuk aplikasi web yang menggunakan domain:
- Web server (Nginx, Apache)
- Aplikasi Node.js/Python/Go
- API server
Cara konfigurasi:
- Buka dashboard VPS → tab Network
- Klik Add Port
- Pilih protokol: HTTP (port 80) atau HTTPS (port 443)
- Masukkan Domain Anda
- Masukkan Port Internal (port aplikasi di dalam VPS)
- Klik Add
Contoh kasus: Aplikasi Next.js berjalan di port 3000, Anda ingin mengaksesnya melalui https://example.com.
https://example.com → VPS Internal:3000 (Next.js)
Catatan: Untuk HTTP/HTTPS, port eksternal otomatis ditetapkan ke 80 atau 443. Anda tidak perlu (dan tidak bisa) mengubah port eksternal.
Contoh Konfigurasi untuk Berbagai Aplikasi#
Node.js/Express App#
// Aplikasi berjalan di port 3000
app.listen(3000, () => {
console.log('Server running on port 3000');
});
Konfigurasi di Helipod:
- Protocol: HTTP atau HTTPS
- Domain:
app.andadomain.com - Internal Port:
3000
MySQL Database#
# MySQL berjalan di port 3306
sudo systemctl status mysql
Konfigurasi di Helipod:
- Protocol: TCP
- External Port:
33060(atau port lain dalam rentang) - Internal Port:
3306
Minecraft Server#
# Minecraft berjalan di port 25565
java -Xmx1024M -Xms1024M -jar server.jar nogui
Konfigurasi di Helipod:
- Protocol: TCP + UDP
- External Port:
25565 - Internal Port:
25565
PostgreSQL Database#
# PostgreSQL berjalan di port 5432
sudo systemctl status postgresql
Konfigurasi di Helipod:
- Protocol: TCP
- External Port:
54320 - Internal Port:
5432
Tips Penting#
1. Cek Port Yang Sudah Digunakan#
Sebelum menambahkan port forwarding, pastikan port belum digunakan oleh aplikasi lain di dalam VPS:
# Cek port yang sedang digunakan
sudo netstat -tlnp
# atau
sudo ss -tlnp
2. Firewall di VPS#
Pastikan firewall di dalam VPS mengizinkan lalu lintas pada port yang dikonfigurasi:
# UFW (Ubuntu)
sudo ufw allow 3000/tcp
# firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
3. Binding Aplikasi#
Pastikan aplikasi bound ke 0.0.0.0 atau all interfaces, bukan hanya 127.0.0.1:
// ❌ Salah - hanya bisa diakses dari localhost
app.listen(3000, '127.0.0.1');
// ✅ Benar - bisa diakses dari luar
app.listen(3000, '0.0.0.0');
// atau
app.listen(3000);
4. Domain untuk HTTP/HTTPS#
Untuk HTTP/HTTPS, Anda perlu mengarahkan DNS domain Anda ke IP VPS:
Type: A Record
Name: @ atau subdomain
Value: IP Address VPS Anda
TTL: Auto
Troubleshooting#
Aplikasi Tidak Bisa Diakses#
- Cek status aplikasi: Pastikan aplikasi berjalan di port yang benar
- Cek port forwarding: Pastikan port sudah ditambahkan di dashboard
- Cek firewall: Pastikan firewall mengizinkan akses
- Cek binding: Pastikan aplikasi bound ke
0.0.0.0
# Cek apakah port terbuka dari luar
curl -v http://IP_VPS:PORT
Port Sudah Digunakan#
Jika port sudah digunakan oleh aplikasi lain:
# Cari proses yang menggunakan port
sudo lsof -i :PORT
# atau
sudo netstat -tlnp | grep :PORT
# Hentikan proses jika perlu
sudo kill PID_PROSES
Koneksi Timeout#
Kemungkinan penyebab:
- Firewall memblokir lalu lintas
- Aplikasi tidak berjalan
- Port forwarding belum aktif (butuh beberapa detik)
# Test koneksi dari dalam VPS
telnet localhost PORT
Ringkasan#
| Protocol | Port Eksternal | Penggunaan |
|---|---|---|
| TCP | Custom (dalam rentang) | Database, Game Server, Aplikasi Custom |
| UDP | Custom (dalam rentang) | Game Server, VPN, DNS |
| TCP + UDP | Custom (dalam rentang) | Game Server yang butuh kedua protocol |
| HTTP | 80 (otomatis) | Website, API |
| HTTPS | 443 (otomatis) | Website, API (dengan SSL) |
Port forwarding di Helipod dirancang untuk kemudahan penggunaan. Anda tidak perlu memahami IPTables atau HAProxy secara manual - cukup konfigurasi melalui dashboard dan sistem kami akan mengurus sisanya.
Butuh bantuan? Hubungi support kami di support@helipod.io atau kunjungi docs.helipod.io.