IT Bootcamp

Belajar Mengenai Jaringan, Server, dan Website.

LAB 8.18. Konfigurasi reverse proxy_pass untuk Load Balance Nginx CentOS7

Konsep Dasar

Proxying biasanya digunakan untuk mendistribusikan muatan di antara beberapa server, menampilkan konten dari situs web yang berbeda secara mulus, atau meneruskan permintaan untuk memproses ke server aplikasi melalui protokol selain HTTP.

Ketika NGINX mengajukan permintaan, ia mengirim permintaan ke server proxy tertentu, menerima tanggapan tersebut, dan mengirimkannya kembali ke klien. Ada kemungkinan permintaan proxy ke server HTTP (server NGINX lain atau server lainnya) atau server non-HTTP (yang dapat menjalankan aplikasi yang dikembangkan dengan kerangka kerja tertentu, seperti PHP atau Python) menggunakan protokol yang ditentukan. Protokol yang didukung meliputi FastCGI, uwsgi, SCGI, dan memcached.

Untuk meneruskan permintaan ke server proxy HTTP, direktif proxy_pass ditentukan di dalam lokasi.

Topologi dan Ketentuan

Topologi
  • Domain yang digunakan adalah gilang.net
  • 2 Buah Server yakni 1 sebagai controller dan 1 sebagai node
  • Server Controller sebagai penyedia DNS
  • Server Node sebagai penyedia layanan web server

Konfigurasi Server Controller

Hal pertama yang harus kita lakukan adalah membuat identifikasi untuk server node1. Dalam hal ini kita akan membuat domain khusus yang digunakan untuk mengidentifikasi server node1. Domain ini hanya untuk identitas saja, bukan untuk domain aslinya. Domain aslinya masih tetap mengambil dari server controller.

1. Tambahkan dahulu server node1 pada file forward.
Edit file Forward


2. Tambahkan juga server node1 pada file reverse.
Edit file Reverse


3. Lakukan restart pada named agar server dapat melakukan perubahan.
Restart Named


4. Kemudian cek menggunakan perintah dig.
Mengecek Domain


5. Kemudian edit file vhost.conf pada direktori /etc/nginx/cond.d Untuk membuka file vhost.conf anda dapat mengetikkan command berikut.
[root@gilang ~]# nano /etc/nginx/conf.d/vhost.conf 
Lalu masukkan script seperti gambar dibawah.
Edit file vhost.conf
Keterangan:
  • proxy_redirect --> mengubah Response Header Location dan Refresh pada Respon Server. Pada gambar diatas kita mengaturnya menjadi off yang berarti kita tidak menggunakan proxy_redirect ini.
  • $http_host --> menetapkan header "Host" ke header "Host" dari permintaan client. Header yang dikirim oleh client selalu tersedia di Nginx sebagai variabel. Variabel akan dimulai dengan awalan $http_, diikuti oleh nama header dalam huruf kecil, dengan tanda hubung digantikan oleh garis bawah.
  • proxy_set_header --> menyesuaikan atau mengatur header untuk koneksi proxy. Misalnya untuk mengganti header "Host" dan menambahkan beberapa header tambahan yang umum dengan permintaan proxy
  • X-Real-IP --> IP client sehingga proxy dapat membuat keputusan atau log berdasarkan informasi ini.
  • X-Forwarded-For --> daftar yang berisi alamat IP dari setiap server yang telah diprogramkan client sampai saat ini. Disini kita menetapkan variabel $proxy_add_x_forwarded_for . Variabel ini mengambil nilai dari header X-Forwarded-For asli yang diambil dari client dan menambahkan alamat IP server Nginx sampai akhir.
  • proxy_pass_header --> identifikasi Nama server yang dicari di antara kelompok server yang ada, dan jika nama server nya tidak ditemukan, maka akan ditentukan dengan menggunakan resolver.


6. Agar server dapat melakukan perubahan terhadap file yang telah kita konfigurasi, lakukan restart pada nginx.
Restart Nginx


Konfigurasi Server Node1

1. Buat tampilan web untuk web servernya. Buat file html pada direktori default web server di direktori /usr/share/nginx/html/ kemudian masukkan scipt html seperti gambar dibawah ini.
Membuat tampilan web


Verifikasi

Akses web server pada server node1 dengan mengetikkan nama domain yang ada pada server controller. Maka akan muncul tampilan web server yang ada pada server node1.
Mengecek Web Server

Demikianlah artikel pada kali ini jika terdapat kesalahan kata pada artikel yang anda baca, saya mohon maaf sebesar-besarnya. Jika anda masih kurang paham atau kurang mengerti akan artikel yang saya sampaikan, anda dapat mengetikkan keluhan anda melalui kolom komentar. Terima kasih.

Tidak ada komentar

Posting Komentar

Search Panel