Assalamualaikum
Pada
kali ini saya akan melanjutkan materi dari Web Server Nginx, yaitu Konfigurasi
Reverse Proxy Pass Pada Web Server Nginx, atau lebih tepatnya yaitu tentang
Backend.
Backend ini seolah-olah kita mempunyai Web Server di belakang Server yang kita akses. Jadii, server yang ada di depan Server Backend bisa dibilang juga sebagai controller dari Web Server dibelakangnya.
Backend ini seolah-olah kita mempunyai Web Server di belakang Server yang kita akses. Jadii, server yang ada di depan Server Backend bisa dibilang juga sebagai controller dari Web Server dibelakangnya.
Topologi
:
Sesuai
topologi pada gambar diatas, saya memiliki satu server backend (node 1) sebagai
Web Server. Cara kerjanya begini, Jadi pada saat client merequest halaman
Website ke Controller, konten web tersebut sebenarnya tidak ada pada
controller, tetapi ada pada node. Jadi controller bertugas untuk meneruskan
request client ke node1 dan node1 meneruskan konten website sebagai hasil dari
request ke client.
Konfigurasi Server CentOS (Controller)
Sekarang
kita masuk ketahap konfigurasi :
Pertama, edit terlebih dulu file zona forward yang sudah kalian buat
nano /var/named/"namazonaforward"
Lalu
tambahkan syntaks sesuai dengan gambar dibawah, dan
jangan lupa untuk menyesuaikan IP nya
Kemudian
edit juga file zona reverse nya
nano /var/named/"namazonareverse"
Lalu
tambahkan script seperti pada gambar dibawah, sesuaikan
nama domain dan juga IP nya
Setelah
itu, restart service named agar konfigurasi yang sudah dilakukan bisa berjalan
systemctl restart named
Selanjutnya
lakukan perintah dig untuk mengetes domain node1
dig "namadomain"
Kemudian
edit file konfigurasi Web server Nginx, disini saya mengeditnya di file
konfigurasi virtual host yang sudah dibuat pada lab sebelumnya
Lalu
tambahkan syntax seperti yang sudah saya tandai pada gambar dibawah ini
Keterangan
:
- proxy_redirect digunakan untuk mengubah Response Header Location dan Refresh pada Respon Server. Tetapi pada pambar diatas saya mengaturnya menjadi off yang berarti saya tidak menggunakan proxy_redirect ini
- $http_host berfungsi untuk 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 digunakan untuk 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 merupakan IP client sehingga proxy dapat membuat keputusan atau log berdasarkan informasi ini.
- X-Forwarded-For merupakan daftar yang berisi alamat IP dari setiap server yang telah diprogramkan client sampai saat ini. Pada contoh di atas, saya 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 merupakan identifikasi Nama server yang dicari di antara kelompok server yang ada, dan jika nama server nya tidak ditemukan, maka akan ditentukan dengan menggunakan resolver.
Masih
di file konfigurasi yang sama, kita cari syntax location {,
kemudian tambahkan syntax seperti yang sudah saya tandai pada gambar dibawah
Keterangan
:
- proxy_pass digunakan untuk menetapkan alamat server proxied dan URI ke lokasi mana yang akan dipetakan. Lokasi yang dimaksud dapat berupa Cluster, Domain ataupun IP Address. Pada gambar diatas saya mengaturnya menjadi ke domain dari node1
Setelah itu restart service nginx agar konfigurasi yang sudah dilakukan bisa
berjalan
systemctl restart nginx
Konfigurasi
Node1
Selanjutnya, kita edit file index.html yang digunakan untuk konten Web Ngingx yang secara default terletak pada direktori /usr/share/nginx/html/
nano /usr/share/nginx/html/index.html
Edit
file nya sesuka hati kalian
Untuk
verifikasi buka web node1 dengan cara mengakses server controller. Maka akan
muncul konten web yang terdapat di server node1
SELESAI
Semoga Bermanfaat
0 komentar:
Posting Komentar