Monday, May 15, 2017

[CentOS 7] LAB 8.18 Konfigurasi Reverse Proxy Pass (Nginx Web Server)

Assalamuallaikum 
WarahmatullahiWabarakatuh.

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Selamat sore semua, ketemu lagi dengan ane. Pada kesempatan sore hari ini ane ingin sharing konfigurasi mengenai konfigurasi reverse proxy pass. Sebelumnya ane pernah sharing konfigurasi hal serupa yang berada disini

                           
Untuk topologi yang ane gunakan adalah sebagai berikut.

Jika melihat topologi diatas, disini ane mempunyai dua buah server, yang merupakan server Controller dan server Node1. Lalu apa fungsi dari server Controller ini. Jadi implementasinya gini, jika ada client yang ingin mengakses sebuah web server, maka client tersebut perlu mengarah kan IP DNS nya ke IP Address server yang bertindak sebagai web servernya, dan yang bertindak sebagai server web servernya adalah node1. Dan disini si client hanya perlu memasukkan IP Address Controller saja. 

Lah ? Katanya client perlu mengarah kan IP DNS ke IP Address server letak web servernya ? Mengapa sekarang si client hanya perlu mengarah kan IP DNS ke IP Address Controller saja ?

Nah jadi gini mengapa judul nya seperti itu, jadi si Controller itu fungsi nya hanya untuk meneruskan permintaan client ke server node1 nya, jadi yang bertindak sebagai server web servernya berada di node1. Jadi web server nya berada di server node1 dan si controller ini hanya sebagai ibarat kata jembatan penghubung dan penerus permintaan client ke server node1

Setting IP Address dan Hostname Server Node1

1.) Setting IP Address untuk server node1 nya, disini IP Address yang ane gunakan untuk server node1 nya adalah 172.16.11.123/24 dan untuk DNS nya diarahkan ke IP Address server controller yaitu 172.16.11.122.



2.) Kemudian setting Hostname untuk server node1 nya, disini Hostname yang ane gunakan untuk server node1 nya adalah Node1Rizky.



Konfigurasi Server Controller

1.) Edit file zone forward yang berada di server controller. Untuk letak file nya berada di directory /var/named/. Untuk membuka file bisa menjalankan command
nano /var/named/"namafilenya"

Kemudian tambahkan domain untuk server node1 nya seperti gambar yang di blok berwarna biru.


2.) Dan, edit juga edit file zone reverse yang berada directory yang sama, yaitu di directory /var/named/. Untuk membuka file bisa menjalankan command
nano /var/named/"namafilenya"

Lalu tambahkan script seperti yang sudah ane tandain blok berwarna biru, sesuaikan nama domain dan juga IP nya untuk node1.


3.) Supaya domain berhasil dibuat dan berjalan dengan baik, kita perlu merestart named nya dengan menjalankan command
systemctl restart named


4.) Kemudian kita test domain yang tadi dibuat untuk node1 nya berhasil dibuat atau tidak dengan menjalankan perintah
dig "namadomain"

Jika muncul tampilan seperti gambar diatas, maka dapat dipastikan domain sudah berhasil dibuat dan berjalan dengan baik.


5.) Setelah itu edit untuk menambahkan konfigurasi proxy pass nya, karena disini ane menggunakan dua nama domain, maka ane edit di file Virtual Host. Untuk file tersebut terletak di directory /etc/nginx/conf.d/. Untuk membuka file Virtual Host bisa menjalankan command
nano /etc/nginx/conf.d/vhost.conf


6.) Kemudian tambahkan script seperti yang ane blok berwarna biru, disini domain yang akan digunakan adalah yang www.anandarizky.co.id, taruh script yang akan ditambahkan di bawah nama server name domainnya.


Keterangan : 
  • proxy_redirect : Untuk mengubah Response Header Location dan Refresh pada Respon Server. Tetapi pada pambar diatas ane mengaturnya menjadi off yang berarti ane 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 : 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, ane 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.


7.) Masih di file yang sama, kemudian tambahkan script yang di blok berwarna biru.


Keterangan : 
  • proxy_pass : 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 diatas ane mengaturnya dan mengarahkan menjadi ke domain node1


8.) Supaya konfigurasi dapat berjalan dengan baik, maka kita perlu merestart service nginx dengan menjalankan command
systemctl restart nginx

Konfigurasi Server Node1

1.) Edit file index.html untuk domain www.anandarizky.co.id. Letak file index.html tersebut terletak pada directory /usr/share/nginx/html. Untuk membuka file bisa menjalankan command
nano /usr/share/nginx/html/index.html


2.) Kemudian edit file sesuai dengan keinginan kawan - kawan sekalian. Disini identitas yang ane gunakan adalah Test Page Proxy Pass.


Verifikasi Client

1.) Pada client, buka web browser. Dan pada URL pencarian masukkan dengan nama domain. Disini client IP DNS sudah diarahkan ke IP Address Server Controller dan saat diakses yang muncul konfigurasi web server pada Server Node1. Dan konfigurasi berhasil


Mungkin hanya sekian yang dapat ane sampaikan, mohon maaf bila banyak kesalahan dan kekurangan baik dari segi kata dan penulisan.
Terima Kasih. Semoga Bermanfaat. 

Wassalamuallaikum Warahmatullahi Wabarakatuh.

 وَ السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

0 komentar:

Post a Comment