Setting Reverse Proxy dengan Apache di Ubuntu Server
Reverse Proxy sering digunakan untuk mengakses web server yang berada di belakang firewall. Reverse proxy juga mempunyai fitur untuk melakukan load balancing terhadap web server dengan membagi request secara proposional. Reverse proxy juga dapat dengan mudah menampilkan beberapa web server yang berbeda dengan menggunakan satu url yang sama.
Pada tutorial ini, kita akan mencoba reverse proxy dengan menggunakan apache web server di ubuntu 12.04. Ada 2 skenario yang akan kita lakukan:
– Skenario 1: kita mempunyai web server dengan 1 ip public yang dapat diakses menggunakan url: http://www.edusoftcenter.com. Kita juga mempunyai beberapa web server internal yang untuk mengaksesnya menggunakan ip lokal seperti, server_internal1, server_internal2. Kita akan membuat server_internal1 untuk menghandle domain www.edusoftcenter.com dan server_internal2 untuk menghandle www.contoh.com.
– Skenario 2: kita mempunyai tool monitoring dengan menggunakan port 2812 yang untuk mengaksesnya menggunakan url: http://www.edusoftcenter.com:2812. Kita akan membuat reverse proxy untuk menjadikan port 2812 ini bisa diakses dengan default port (80) sehingga url untuk mengakses aplikasi tersebut menjadi http://www.edusoftcenter.com.
Berikut langkah-langkah untuk membuat 2 skenario diatas:
Langkah 1: instalasi module proxy apache di ubuntu
# apt-get install libapache2-mod-proxy-html libxml2-dev
Langkah 2: aktifkan module tersebut
# a2enmod proxy proxy_http
Langkah 3: buat virtual hostnya (solusi skenario 1)
# vi /etc/apache2/sites-enabled/contoh_reverse <VirtualHost *:80> ServerAdmin komarudin.syarif@gmail.com ServerName contoh.com ServerAlias www.contoh.com ProxyPass / http://ip_serverinternal1 ProxyPassReverse / http://ip_serverinternal1 </VirtualHost>
Langkah 4: buat virtual host (solusi skenario 2)
# vi /etc/apache2/sites-enabled/contoh_reverse2
<VirtualHost *:80> ServerAdmin komarudin.syarif@gmail.com ServerName edusoftcenter.com ServerAlias www.edusoftcenter.com ProxyPass / http://www.edusoftcenter.com :2812 ProxyPassReverse / http://www.edusoftcenter.com :2812 </VirtualHost>
Langkah 5: restart apache
# /etc/init.d/apache2 restart