Reverse Proxy

Reverse Proxy adalah jenis server proxy umum yang dapat diakses dari jaringan publik. Banyak situs web server menggunakan reverse proxy bersama layanan pendukung lain.

Hal ini digunakan karena salah satu tujuan server adalah untuk bisa memberikan informasi berbentuk teks/dokumen kepada client, yang biasanya dilakukan via protokol HTTP. Untuk itu, kamu perlu Web Server (atau Reverse Proxy juga bisa) yang "mendengarkan" port default dari HTTP (yakni 80), sehingga ketika user ada yang melakukan request ke alamat IP servermu, servermu tau apa yang harus dilakukan.

Pilihan yang paling mudah adalah menggunakan apache2, yang advance sedikit bisa menggunakan nginx. Kalau pilihanku menggunakan Traefik, karena aplikasiku terisolasi dalam container semua.

Contoh kasus
Ingat kan port default dari HTTP adalah 80? Yang maksudnya, jika aplikasimu menggunakan port selain 80, maka client/user harus secara "eksplisit" menuliskan portnya, misal: myawesomeweb.domain:3000.

Untuk menghindari itu (that explicit port), kita bisa menggunakan Reverse Proxy. Sehingga, reverse proxy kita tau ke port mana request tersebut harus diteruskan, meskipun user tanpa perlu mengetikkan port tujuan secara eksplisit untuk kita.

Masalah kedua adalah sayangnya, port tersebut dikonfigurasi secara statis. Jika aplikasimu hari ini menggunakan port 3000 dan besok menjadi 3001, kamu harus mengubah konfigurasi reverse proxy mu lagi.

Juga, tidak jarang aplikasi memiliki port yang sama. Seperti port 3000 yang biasa digunakan aplikasi Rails, dan port 3000 lainnya yang biasa digunakan aplikasi Node.js.

Dengan menggunakan Docker (plus Traefik), kamu tidak perlu pusing-pusing setting port bahkan untuk port yang dinamis. Kamu cukup memberi tahu Traefik port berapa yang digunakan oleh aplikasimu (80 pun okay!), maka Traefik (Reverse Proxy) akan meneruskan request tersebut ke aplikasi yang tepat.

Silahkan baca-baca sedikit tentang Docker + Traefik.

Daftar aplikasi

 * Nginx
 * Diaspora

Referensi

 * https://blog.evilfactory.id/konfigurasi-dasar-vps-untuk-pribadi-yang-mandiri/