Assalamu'alaikum wr.wb
Pada kali ini ane ingin share cara mengkonfigurasi apache sebagai reverse proxy. Jadi disini tidak menggunakan aplikasi pihak ketiga, kita akan menggunakan module dari apache itu sendiri yaitu modul proxy..
Topologi :
Pada topologi diatas, saya punya 2 server. Yang satu sebagai controller, dan yang satu sebagai node. Jadi node disana berguna untuk menangani request client dan memberikannya kepada controller untuk ditampilkan ke client. Istilah ini dinamakan backend (kerjanya si node) dan frontend (kerjanya controller untuk klien). Jadi controller berguna sebagai yang mengontrol webserver. Pada saat klien membuka sebuah webserver, maka dia mengakses controller, sedangkan node adalah yang bekerja dan memberikan hasil request dari klien. Analoginya seperti ini. Controller ini adalah seorang pramu saji, yaitu dia yang menangani pesanan dan mengantarkan makanan ke pembeli. Dan node adalah seorang koki yang memasak makanan untuk pembeli.
Sesuai topologi diatas, saya memiliki satu server backend, yaitu node1 sebagai webserver. Jadi jika client merequest halaman website pada controller, sebenarnya kontennya itu tidak ada pada controller, tapi ada pada node. Jadi controller meneruskan request klien ke node1 dan meneruskan konten website sebagai hasil dari request ke klien.
Reverse Proxy adalah sebuah proxy yang berada didepan web server yang digunakan untuk mengcache dan bisa juga sebagai loadbalancer. Cara kerjanya adalah, ketika klien merequest halaman web ke server reverse proxy atau saya sebut diatas sebagai controller, maka klien seolah olah mengakses webserver yang berada di IP Private atau LAN, seperti forwarded path.
Pada lab ini, semua konten website hanya ada pada node, pada controller tidak ada konten web apapun. Controller hanya mengarahkan saja.
Pastikan semua cluster (controller dan node) sudah diinstall apachenya.
Disini saya memiliki controller yang punya 2 IP, IP privat dan IP Publik. IP Private di ether1 dan IP Publik di ether 0.
1. Cek dulu module proxy balancer apakah ada atau tidak pada httpd.
Pada gambar diatas terlihat ada modul yang dibutuhkan untuk reverse proxy, yaitu proxy_balancer_module
2. Buat file konfigurasi baru untuk reverse proxy pada /etc/httpd/conf.d/. untuk namanya bebas tapi harus berakhiran .conf, disini saya menamakannya r_proxy.conf
Masukkan konfigurasi seperti ini
Tag <IfModule>mendefinisikan sebuah fitur yang aktif hanya ketika module yang ditentukan dimuat. Disana saya akan memuat proxy_module pada httpd, maka dituliskan mod_proxy.c yang menandakan source code dari proxy_module.
ProxyRequests off menandakan bahwa saya tidak mengaktifkan proxy request.
Tag <Proxy> untuk apa yang diterapkan pada proxy resource, disana saya memberikan tanda bintang (*) atau universal (semuanya). Jadi saya mengkonfigurasi proxy secara keseluruhan pada server saya.
Require all granted maksudnya adalah saya mengizinkan semua user dapat mengakses webserver (reverse proxy) saya.
ProxyPass / http://172.16.11.142 berguna untuk memetakan reverse proxy (controller) ke lokal server (node1 = 172,16.11.142)
ProxyPassReverse / http://172.16.11.142 berguna untuk menyesuaikan url di respon header http yang dikirim reverse proxyJalankan service httpd agar webserver berjalan pada controller
Buka firewall untuk service http agar server mengizinkan request http dari klien pada controller
Buat file index pada node1 pada direktori defaultnya /var/www/html
Kemudian saya mengisikannya seperti ini
Jalankan service httpd agar webserver berjalan pada node1
Buka firewall untuk service http agar server mengizinkan request http dari controller dan node1 dapat mengirimkan replynya ke controller
Kemudian buka website anda.
Sekian Semoga Bermanfaat
loading...
Comments
Post a Comment