Nginx Sebagai Reverse Proxy Apache di CentOS 7

0
8482

Reverse proxy sudah mulai banyak diaplikasikan pada saat ini. Baik untuk dipasang satu server dengan Apache ataupun dipasang dengan banyak server Apache dibelakangnya. Pada kesempatan ini, kita akan coba mengaplikasikan konfigurasi Nginx Sebagai Reverse Proxy Untuk Apache.

Apa itu Reverse Proxy?

Sebelum memulai, ada baiknya kita mengetahui dahulu apa itu reverse proxy, dan apa keuntungannya.

Reverse proxy adalah jenis server proxy yang menjalankan request atas nama klien dari satu atau beberapa server. Request ini kemudian dikembalikan ke klien seolah-olah berasal dari server Web itu sendiri. Berlawanan dengan forward proxy, yang merupakan perantara bagi klien untuk menghubungi server manapun, reverse proxy adalah kebalikannya (http://httpd.apache.org/docs/2.0/mod/mod_proxy.html#forwardreverse). Bahasa mudahnya, reverse proxy adalah resepsionis atau frontdesk yang akan menerima pesan dari luar yang kemudian diteruskan kepada pihak yang dituju. Apabila ada respon, pesan tersebut akan disampaikan oleh frontdesk kepada si pengirim pesan.

Kalau masih bingung antara Nginx dan Apache, artikel berikut : https://www.keycdn.com/support/nginx-vs-apache/ bisa memberikan penjelasan singkat mengenai hal itu.

Lalu apa keuntungan menggunakan reverse proxy? Ada beberapa keuntungan yang diperoleh dengan menggunakan reverse proxy dan semua tergantung kepada bagaimana tujuan dan setupnya. Meskipun tidak diperlukan dalam semua kondisi, reverse proxy bisa bermanfaat tergantung pada skenario yang diperlukan. Paling tidak, berikut ini adalah beberapa manfaat dari penerapan reverse proxy:

  • Load Balancing
    Sebuah reverse proxy dapat berfungsi sebagai load balancing yang mana membantu membagi request dari klien ke beberapa server yang berada di belakangnya. Kondisi ini sangat membantu dalam menghindari kondisi server overloaded karena banyaknya request. Load balancing juga meningkatkan availability / redudansi yang apabila satu server down, reverse proxy akan mengarahkan ke server lain yang masih aktif.
  • Meningkatkan Keamanan
    Reverse proxy juga berfungsi sebagai pelindung dari server backend (server utama). Dengan menerapkan reverse proxy, identitas server utama akan tertutupi. Kondisi ini sangat berguna dalam hal melindungi server utama dari serangan semacam DDoS misalnya.
  • Performa yang lebih baik
    Nginx dikenal sangat baik dalam hal menangani konten statis. Dengan Nginx sebagai reverse proxy, semua request konten statis klien dilayani oleh Nginx dan yang dinamis baru dilanjutkan ke backend server. Konfigurasi ini dapat meningkatkan performa dengan membagi resource berdasarkan tipe request. Selain itu, reverse proxy juga bisa digunakan untuk melayani request dengan mengirimkan konten yang ada dalam cache sehingga tidak perlu merequest ke server utama.

Asumsi

Dalam tulisan ini, kita akan membuat simulasi dengan (hanya) service Apache dan service Nginx dalam satu server. Tentu saja bisa juga diaplikasikan dengan server yang terpisah. PHP, MySQL, dsb tidak akan kita pasang agar tidak terlalu melebar pembahasannya. Oh ya, di tulisan ini saya menggunakan os CentOS 7.4 di server cloud milik Vultr. Karena kebetulan baru saja setup server untuk website berita online. Vultr ini bisa diandalkan untuk hal performa dengan harga yang terjangkau, dimulai dari $5 per bulan. Lha, kok jadi iklan ya…. Hehehe… 😀

Berikut adalah kondisi awal sebelum konfigurasi dimulai:

  1. OS yang diinstall adalah CentOS 7.4 minimal
  2. belum ada service apapun yang jalan selain ssh server.
  3. Semua perintah dijalankan dengan user root.
  4. Selinux sudah dalam kondisi disabled.
  5. IP address yang akan kita gunakan 11.22.33.44
  6. Domain yang akan digunakan oprek.karedok.net dan DNS server sudah di set ke server.

Baiklah, mari kita mulai.

Mari diskusi

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.