Kali ini kita akan membahas konfigurasi proxy dari satu server caddy ke server caddy lainnya.
Konfigurasinya seperti ini :
1 2 3 4 |
- VPS sebagai server tinc/openvpn - Raspberry pi konek ke VPS sebagai client tinc/openvpn - A/AAAA Records diarahkan ke ip VPS - Akses domain diterima vps untuk diarahkan ke raspberry pi |
- Konfigurasi Caddy pada VPS yang akan melayani request ke domain :
1234567/etc/caddy/Caddyfile...https://raspi.znc.my.id {reverse_proxy 10.0.0.2}...
Silakan disesuaikan IPnya, misalnya 10.0.0.3, atau 10.0.0.4 dsb.
Dengan catatan tidak perlu diseting portnya, karena nanti dihandle oleh caddy yang di client. - Konfigurasi Caddy pada Client/Raspberry PI yang melayani request dari vps :
12345678/etc/caddy/Caddyfile...http://raspi.znc.my.id {root * /var/www/raspi.znc.my.idphp_fastcgi unix//var/run/php5-fpm.sock}...
Konsepnya :
1(web) raspi.znc.my.id --> WinnerVPS (https) --> Raspi (http)
VPS akan menerima request dari domain, dengan memproses secara https, untuk kemudian diteruskan ke Raspi atau client secara http.
Oleh client/Raspberry Pi, request harus diproses secara http, karena proses SSL sudah dilakukan di VPS.
Disinilah letak bagian yang membuat pusing, karena secara default Caddy akan memproses semuanya sebagai htttps, kecuali kalau kita menyuruhnya untuk tidak melakukannya.
Jika kita tidak menyuruh mempergunakan http di Caddy Client, maka akan diproses secara https, dan nanti akan muncul error 502, ataupun redirect yang tidak ada hentinya.
Contoh penerapannya ketika kita membuka raspi.znc.my.id, maka kita akan membuka isi dari server Caddy RaspberryPi yang ada di rumah.
- Keuntungan mempergunakan konsep seperti ini :
– Memisahkan server utama dengan client, jadi lebih aman.
– Applikasi dapat dijalankan dimanapun, meskipun di dalam NATnya Indihome, selama masih bisa terhubung ke internet dan server.
– Percobaan hacking akan lebih susah karena posisi server client yang tersembunyi. - Kekurangannya :
– Waktu akses lebih lama, karena adanya latensi tambahan dari vps ke server internal.