Konfigurasi proxy load balance Nginx pada CentOS 7

Sebelumnya saya sudah membahas reverse proxy pada Nginx yang memungkinkan kita membuat server Frontend dan Backend di posting ini, pada kali ini konfigurasi tidak jauh berbeda dengan reverse proxy hanya saja ditambahkan Load Balance pada server backend.

Berikut ini adalah topologi server yang akan saya konfigurasi :

Topologi

Berdasarkan topologi diatas, jika kita mengakses server controller maka akan diteruskan pada server backend #1 kemudian jika mengakses untuk yang kedua kalinya akan diteruskan ke backend #2.

Frontend Server

  1. Pastikan server sudah terinstall nginx sebelumnya dan sudah dapat beroperasi. Jika belum install terlebih dahulu web server nginx pada server tersebut, bisa dilihat pada posting saya yang ini.
  2. Lalu buka file konfigurasi /etc/nginx/nginx.conf untuk menambahkan konfigurasi nginx.
  3. [root@m1-dz ~]# vi /etc/nginx/nginx.conf
    http {
        #tambahkan ini pada bagian http {}
        upstream belakang {
            server node01.network.dz; #daftar server backend
            server node02.network.dz;
        }
    
        server {
            listen       80;
            #listen       [::]:80 default_server;
            server_name  www.network.dz;
            root         /usr/share/nginx/html;
            #Tambahkan ini di bagian server {}
            proxy_redirect           off;
            proxy_set_header         X-Real-IP $remote_addr;
            proxy_set_header         X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header         Host $http_host;
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
            
            location / {
                    proxy_pass http://belakang;
            }
    
    
  4. Lakukan pengecekan sintaks konfigurasi.
  5. [root@m1-dz ~]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    
  6. Restart service nginx untuk memperbarui konfigurasi.
  7. [root@m1-dz ~]# systemctl restart nginx
    

Backend Server Node01 & Node02

Pada kedua server ini hanya web server biasa tanpa konfigurasi khusus, bisa menggunakan apache untuk backend nya.

Testing Client

Setelah konfigurasi selesai dilakukan kita lakukan pengetesan pada client.
  1. Akses ke1
  2. Akses ke2
Cukup sampai disini postingan saya kali ini,
Sekian Terima Kasih.

Referensi

Server World

Komentar