Reverse Proxy merupakan sebuah proxy server yang menerima permintaan HTTP(S) dan secara transparan mendistribusikannya ke satu atau beberapa server yang ada di belakangnya. Reverse Proxy ini sangat berguna karena sekarang ini banyak sekali aplikasi web modern yang memproses permintaan HTTP namun sever-server tersebut tidak diperbolehkan untuk diakses secara langsung oleh pengguna.
Selain agar tidak diakses secara langsung, cara ini juga berfungsi sebagai pengatur beban yang masuk untuk server-server yang ada di belakangnya (load balancing).
- Baca Juga: Membatasi Akses ke Server dengan Htpasswd
Lalu kenapa Apache yang digunakan sebagai proxy server? Kenapa bukan Nginx? Karena untuk Nginx, saya sudah pernah menuliskannya secara tidak langsung DI SINI.
Langsung saja, tanpa berlama-lama lagi berikut ini cara menggunakan Apache sebagai reverse proxy di Ubuntu Server.
- Mengaktifkan beberapa modul Apche yang diperlukan
Setelah melakukan instalasi Apache, kalian harus mengaktifkan beberapa modul yang tidak aktif secara otomatis untuk mendukung reverse proxy ini.
Beberapa modul tersebut adalah:- mod_proxy, modul utama yang berfungsi untuk mengarahkan koneksi. Modul ini membuat Apache bertindak sebagai gateway untuk server aplikasi di belakangnya.
- mod_proxy_http, modul yang menambahkan dukungan untuk mengarahkan koneksi http.
- mod_proxy_balancer dan mod_lbmethod_byrequest, modul yang mendukung fitur load balancing untuk banyak server backend.
- Cara melakukan instalasi modul-modul tersebut adalah dengan menjalankan perintah:
sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod proxy_balancer sudo a2enmod proxy lbmethod_byrequest sudo service apache2 restart

Mengaktifkan modul 
menjalankan ulang service apache - Tahap berikutnya adalah langsung ke bagian konfigurasi. Isi konfigurasinya adalah sebagai berikut:
<VirtualHost *:80> ProxyPreserveHost On ProxyRequests Off AllowEncodedSlashes NoDecode ServerName <Nama_Server> ServerAlias <nama_server> ErrorLog ${APACHE_LOG_DIR}/error-proxy.log CustomLog ${APACHE_LOG_DIR}/access-proxy.log combined Redirect permanent / https://<nama_server> </VirtualHost> <VirtualHost *:443> ServerName <nama_server> SSLEngine on SSLProxyEngine On ProxyRequests Off ProxyPreserveHost On SSLCertificateFile /<lokasi_cert>/<kunci_publik>.crt SSLCertificateKeyFile /<lokasi_key>/<kunci_privat>.key ErrorLog ${APACHE_LOG_DIR}/error-proxy-SSL.log CustomLog ${APACHE_LOG_DIR}/access-proxy-SSL.log combined ProxyPass / http://<ip_server>:<port>/ ProxyPassReverse / http://<ip_server>:<port>/ </VirtualHost>

konfigurasinya
Itu tadi sedikit konfigurasi dasar untuk membuat Apache Web Server menjadi sebuah reverse proxy server. Jangan lupa di-restart kembali Apache-nya ya setelah melakukan perubahan konfigurasi.
Jika ada yang tidak jelas atau dirasa salah, jangan ragu untuk menulis di kolom komentar ya.
Tambahan
Jika tidak menggunakan SSL, konfigurasinya menjadi seperti ini:
<VirtualHost *:80> ProxyPreserveHost On ProxyRequests Off AllowEncodedSlashes NoDecode ServerName <Nama_Server> ServerAlias <nama_server> ErrorLog ${APACHE_LOG_DIR}/error-proxy.log CustomLog ${APACHE_LOG_DIR}/access-proxy.log combined ProxyPass / http://<ip_server>:<port>/ ProxyPassReverse / http://<ip_server>:<port>/ </VirtualHost>

Comments are closed.