Administrasi Server
Assalammualaikum wr wb
Alhamdulillah bertemu lagi kita ini adalah akhir dari Lab Nginx, uh akhirnya selesai juga yah baguslah kalau udah selesai , tapi besok mulai adatugas Lab baru. Dah kali ini materi yang akan saya bagikan adalah loadbalancing menggunakan reverse proxy tapi bukan hanya load balancing tapi juga ada fail overnya juga loh mantap kan dah pokoknya nikmatin aja.
1) Pertama edit terlebih dahulu file forward dan reverse milik domain yang sudah kalian buat.
2) Edit file konfigurasi Web Server Nginx. Disini saya mengeditnya pada file Virtual Host yang sudah saya buat pada lab sebelumnya tapi anda juga bisa membuatnya jika anda mau tapi yang pasti harus di folder conf.d dan harus berektensi .conf. Lalu tambahkan syntax ini untuk mengatur fungsi masing - masing tiap server.
3) Lalu restart service Nginx agar konfigurasi berjalan
Lalu file index Pada masing-masing node1, node2 dan node3 untuk verifikasi hasil konfigurasi
Maka hasilnya akan sesuai dengan yang sudah dikonfigurasi pada server controller, karna node1 diatur untuk menampung beban request client sebanyak 3 kali maka pada saat request ke 4, controller akan mengarahkan ke node2, sedangkan server node3 tidak akan digunakan, karna dia berperan sebagai backup yang hanya akan digunakan pada saat server lainnya sedang down atau tidak aktif
2) Sekarang coba matikan server node1
Lab 8.19 Load Balancing with Reverse Proxy on Nginx
Assalammualaikum wr wb
Alhamdulillah bertemu lagi kita ini adalah akhir dari Lab Nginx, uh akhirnya selesai juga yah baguslah kalau udah selesai , tapi besok mulai ada
Konfigurasi Server
Sebelum konfigurasi Load Balance, edit terlebih dahulu file konfigurasi DNS pada zona forward dan juga zona reverse untuk menambahkan domain node1, node2 dan node3
1) Pertama edit terlebih dahulu file forward dan reverse milik domain yang sudah kalian buat.
2) Edit file konfigurasi Web Server Nginx. Disini saya mengeditnya pada file Virtual Host yang sudah saya buat pada lab sebelumnya tapi anda juga bisa membuatnya jika anda mau tapi yang pasti harus di folder conf.d dan harus berektensi .conf. Lalu tambahkan syntax ini untuk mengatur fungsi masing - masing tiap server.
Keterangan:
- upstream diatas berguna untuk membuat block untuk membuat cluster untuk proxy. Dan cluster disana, saya menamainya dengan ghifarbackend. Namanya bisa anda tentukan sesuka hati
- server merupakan anggota (node) dari cluster yang telah dibuat. Disana saya mendaftarkan 3 anggota atau 3 server, yaitu node1.ghifar.net node2.ghifar.net, dan node3.ghifar.net dengan port :80 ini artinya dalam cluster ghifarbackend dengan anggotanya akan menangani request melalui port 80.
- Secara default, jika tidak menambahkan apa apa, hanya server serveranda:port maka controller akan mengatur agar server tersebut hanya menangani 1 kali request dari klien. Dan jika ditambahkan keterangan seperti misalnya weight=2 merupakan beban yang ditanggung sebuah anggota atau node. Misalnya diatas, saya mengatur node1 dengan weightnya 2. Ini artinya node1 akan menangani 2 kali request klien secara berurutan. Kalau backup merupakan option yang akan menangani request jika anggota atau node yang lain mati. Ibaratnya seperti failover, tapi dalam lingkup metode loadbalancing. Jadi node3 yang saya atur sebagai server backup dia akan mengambil alih request dari klien kalau node yang lain mati. Sedangkan kalau node1 dan node2 hidup, node3 tidak akan menangani request dari klien.
- proxy_redirect off berguna agar controller tidak melakukan redirect pada suatu konten website.
- proxy_set_header berguna untuk mengizinkan mendefinisikan ulang atau menambahkan bidang ke header permintaan yang dikirimkan ke server proxy.
- proxy_set_header X-Real-IP $remote_addr berguna untuk mengatur alamat IP dari klien sehingga proxy dengan benar dapat membuat keputusan atau masuk berdasarkan informasi ini. Variabel $remote_addr merupakan IP client yang mengakses server.
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for maksudnya adalah Header X-Forwarded-For adalah daftar yang berisi alamat IP dari setiap server yang telah diprogramkan klien sampai saat ini. Pada contoh di atas, kami menetapkan variabel $ proxy_add_x_forwarded_for ini. Variabel ini mengambil nilai dari header X-Forwarded-For asli yang diambil dari klien dan menambahkan alamat IP server Nginx sampai akhir.
- proxy_set_header Host $http_host Permintaan di atas menetapkan header "Host" ke variabel $http_host, yang berisi informasi tentang host asli yang diminta
- proxy_pass_header node1,node2 berguna untuk mengizinkan lewat header yang dinonaktifkan dari server proxy ke client.
- location / diatas menandakan konten website berada. Pada konfigurasi diatas, saya mengaturnya pada proxy_pass http://ghifarbackend/ .ini artinya saya mengaturnya kalau klien mengakses server controller, maka controller akan meneruskan request tersebut ke cluster ghifarbackend yang telah dibuat dengan beban yang telah ditentukan sebelumnya
3) Lalu restart service Nginx agar konfigurasi berjalan
Konfigurasi Server Node1, Node2 dan Node3
Lalu file index Pada masing-masing node1, node2 dan node3 untuk verifikasi hasil konfigurasi
Verifikasi
1) Lakukan pengetsan pada Web Browser client dengan cara mengakses http://Domain.kita milik Server Controller
Maka hasilnya akan sesuai dengan yang sudah dikonfigurasi pada server controller, karna node1 diatur untuk menampung beban request client sebanyak 3 kali maka pada saat request ke 4, controller akan mengarahkan ke node2, sedangkan server node3 tidak akan digunakan, karna dia berperan sebagai backup yang hanya akan digunakan pada saat server lainnya sedang down atau tidak aktif
2) Sekarang coba matikan server node1
Karna node1 mati, maka konten web akan dibebankan pada node2, sedangkan node 3 masih belum digunakan, karna server balancing (controller) menganggap masih ada server yang aktif dan kemudian request client akan diserahkan pada server tersebut.
4) Nah sekarang coba matikan server node2
5) Setelah itu, akses kembali server controller pada web browser client
Pada saat ini lah server backup (node3) digunakan. Karena node1 dan node2 mati, maka server balancing (controller) akan mencari server backup dan menyerahkan request client pada server backup tersebut.
6) Lantas bagaimana jika semua server mati? jika ingin tahu coba matikan server node3nya maka hasilnya adalah 503 bad gateway













































0 komentar: