Minggu, 14 Mei 2017

Lab 8.18. Konfigurasi Reverse Proxy Pass pada Nginx


Assalamualaikum Warahmatullahi Wabarakatuh

Lanjut ke lab 8.18. mengenai konfigurasi reverse proxy pass pada nginx. Pada kali ini kita masih membahas mengenai web server nginx, namun pada lab kali ini kita menggunakan backend. Apa itu backend? Yang dimaksud backend disini adalah kita seolah-olah mempunyai web server di belakang server yang kita akses. Jadi, server yang ada di depan backend /  yang kita akses ini bisa disebut sebagai controllernya. Dan dibawah ini adalah topologi yang kita gunakan untuk melakukan konfigurasinya. Sesuai topologi dibawah ini, kita memiliki satu server backend / node1 yang terletak di belakang server controller. Pada saat client ingin merequest halaman website pada controller, konten yang muncul nantinya sebenarnya tidak ada pada server controller namun adanya di node1. Jadi si server controller ini akan meneruskan request client ke node1 dan meneruskan konten website sebagai hasil dari request-an si client. Lalu bagaimanakah konfigurasinya? Bismillah mari kita coba sama-sama....


-- Konfigurasi server controller --


1. Yang pertama kali kita edit adalah zona forward dari file konfigurasi DNS yang telah kita buat sebelumnya, yang terletak pada direktori /var/named/.


2. Setelah membuka file zona forwardnya maka kita akan menambahkan domain node1 nya disini dengan menggunakan ip 192.168.43.30 .


3. Setelah mengedit zona forwardnya maka kita akan mengedit zona reverse nya yang letaknya sama yaitu di direktori /var/named/.


4. Ketikkan script seperti yang di block berwarna hijau dibawah ini, sesuaikan dengan domain dan ip nya ya.


5. Jangan lupa untuk merestart service DNS nya supaya konfigurasi yang kita lakukan dapat berjalan dengan baik.


6. Kita akan melakukan pengetesan pada domain node1 ini dengan menggunakan perintah dig. Maka ketikkan perintah dig (nama_domain_yang_baru_ditambahkan).


7. Dan hasilnya adalah seperti ini nantinya, yang memuat informasi tentang domain kita.


8. Selanjutnya kita akan mengedit file konfigurasi server nginx nya, dan disini kita akan melakukan konfigurasi nya di file konfigurasi virtual host yang sudah kita buat pada lab sebelumnya.


9. Isikan script seperti yang saya beritanda berwarna hijau dibawah ini, dan untuk peletakkannya harus disesuaikan. 

Keterangan :
  • proxy_redirect digunakan untuk mengubah response header location dan refresh pada respon server. Namun pada gambar dibawah ini kita mengaturnya menjadi off yang menandakan kita tidak menggunakan proxy_redirect
  • $http_host digunakan 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 / 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 benar membuat keputusan atau log berdasarkan informasi ini.
  • X-Forwarded-For adalah 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 tidak ditemukan, maka tentukan dengan menggunakan resolver. 


10. Masih pada file konfigurasi virtual host, dan disini kita tambahkan script seperti yang sudah ditandai berwarna hijau seperti gambar dibawah ini, untuk letaknya ada di location / { dan ketikkan sebelum kurawal tutup / }.

Keterangan :
  • proxy_pass digunakan untuk menetapkan alamat server proxied dan URL ke lokasi mana yang akan dipetakan. Lokasi yang dimaksud dapat berupa Cluster, Domain ataupun IP Address. Pada gambar dibawah ini kita mengaturnya ke domain dari node1.

11. Jangan lupa untuk merstart server nginx nya  supaya konfigurasi dapat berjalan dengan baik.  

-- Konfigurasi server node1 --

1. Pada node1 ini pastikan kita telah menginstall nginx terlebih dahulu. dan konfigurasi nginx disini juga masih default, dan kita akan mengedit file index.html yang berisi konten dari web server kita nantinya yang secara default file index.html ini terletak di direktori /usr/share/nginx/html.


2. Dan isikan script seperti gambar dibawah ini, dan script dibawah ini merupakan script sederhana yang kita gunakan, jadi ini bisa diisi sesuka hati kita ya.


3. Terakhir, yang kita lakukan adalah verifikasi dengan melakukan akses ke server controller dan yang nantinya yang akan muncul konten dari server node1.


Sekian yang dapat saya sampaikan, kurang lebihnya mohon maaf

Semoga bermanfaat untuk kita semua, Wassalamualaikum Warahmatullahi Wabarakatuh...

0 komentar:

Posting Komentar

sedikit informasi

klik tanda plus di pojok kanan atas untuk keperluan lainnya. Terimakasih..