Artikel ini merupakan lanjutan dari instalasi NGINX dan APACHE

Apa itu Reverse Proxy ?

Reverse Proxy adalah sebuah server yang berfungsi untuk meneruskan request client ke server. Reverse Proxy terletak di antara aplikasi internal dan akan bekerja ketika client melakukan request ke server, maka server proxy akan meneruskan traffic ke backend kemudian server merespon dan client menerima respon dari server.

Reverse proxy sangat berguna untuk menyeimbangkan kinerja beban antar server (workload). Biasanya reverse proxy akan diimplementasikan oleh NGINX dan APACHE. Untuk lebih jelasnya berikut adalah gambar singkat (sumber: https://www.atatus.com/blog/content/images/2021/09/Reverse-Proxy.png)

Configure HTTPD

Pastikan dapat login ke server menggunakan root dan pastikan sudah mengikuti tutorial cara instalasi NGINX dan APACHE karena saya akan langsung melakukan konfigurasi. Urutan konfigurasi akan saya lakukan sebagai berikut:

  • Memastikan NGINX dan APACHE terinstall
  • Merubah port default apache 80 menjadi 8080
  • Menambahkan direktori vhosts
  • Membuat vhosts untuk ujicoba reverse proxy
  • Membuka port 8080 pada firewalld

Configure NGINX

Langkah selanjutnya, saya akan menambahkan beberapa konfigurasi pada nginx diantaranya sebagai berikut:

  • Memastikan /etc/nginx/conf.d/*.conf sudah ditambahkan pada nginx.conf
  • Membuat include file untuk vhosts untuk memudahkan pembuatan blok server baru apabila ada domain atau subdomain untuk ditambahkan

Configure Directory

Setelah pembuatan file dan direktori vhosts selesai, langkah selanjutnya adalah membuat root direktori pada vhosts yang berfungsi untuk menyimpan isi file website

Logging

Tahap terakhir adalah memastikan bahwa NGINX dan APACHE benar-benar bekerja, saya akan mengakses info.php dan index.html terlebih dahulu

Tampilan http://domain.tld/index.html

Tampilan http://domain.tld/index.php

Selanjutnya saya akan melihat request pada server pergi kemana dan melihat webserver nginx yang bekerja pada port 80 untuk melihat request dan webserver yang digunakan saya akan melakukan beberapa langkah berikut:

  • Inspect element melalui browser
  • Cek melalui info.php
  • nginx log
  • apache log

Untuk melihat webserver yang berjalan pada port 80 saya melakukan inspect element pada google chrome caranya adalah klik kanan Inspect > Network > Headers > Response Headers dan betul saja terlihat server: nginx/1.20.1

Cara berikutnya adalah melihat melalui info.php perlu diperhatikan beberapa parameter kali cukup:

  • Server API
  • SERVER_SOFTWARE

Pada parameter Server API artinya jika PHP dijalankan oleh Apache maka reverse proxy berhasil

Pada parameter SERVER_SOFTWARE apabila menunjukkan Apache/2.4.6 maka reverse proxy yang dibuat sudah otomatis berhasil dan request client di forward menuju backend Apache

Cek request index.html file pada nginx

Cek request info.php file pada apache

Perlu diingat pada blok server vhosts mnginx.iaas.web.id.conf sudah di setting apabila file statik akan di serve oleh nginx sedangkan php akan di forward ke apache.

Last modified: January 2, 2023