Skip to content
konfigurasi load balancer

Konfigurasi Load Balancer NGINX di Dewacloud

Dewacloud menyediakan berbagai macam load balancer untuk digunakan di topologinya seperti NGINX, Apache, HAProxy, Litespeed Web ADC, dan Varnish. Di artikel kali ini kita akan membahas cara konfigurasi load balancer NGINX agar dapat menyesuaikan dengan kebutuhan aplikasi kita. Yuk simak sampai habis!
Baca juga: Pengenalan Fitur dan Interface Dewacloud

Dimana Kita Bisa Mengubah Konfigurasi NGINX?

Kita asumsikan kamu sudah punya environment dengan Load Balancer NGINX. Jika environment dengan Load Balancer sudah ada, cari environment tersebut di dashboard Dewacloud.
Klik tombol dropdown pada environmentmu lalu klik tombol tang/config pada Load Balancernya.
klik 'config'
Masuk ke directory nginx lalu buka file “nginx-jelastic.conf”.
buka file nginx jelastic
Tampilannya akan kurang lebih seperti ini.
tampilan konfigurasi nginx

Konfigurasi NGINX

Apa saja sih yang bisa dikonfigurasi di file nginx-jelastic.conf itu? Mari kita bahas beberapa settingnya disini:

1. Upstream

Kamu bisa setting server upstream dengan di-define seperti berikut:


upstream test {
	server test1.example.com
	server test2.example.com
	server 127.0.0.1:8000
}

Kamu juga bisa tambahkan parameter-parameter lain seperti weight, max_fails, fail_timeout, dan lainnya.


upstream test {
server test1.example.com weight=5;
server test2.example.com fail_timeout=5s;
server 127.0.0.1:8000 max_fails=3
server backup.example.com backup;
}

Baca juga: Cara Konfigurasi Nginx Proxy Pass di Dewacloud 

2. Security Headers

Kamu dapat menambahkan security headers untuk meningkatkan pertahanan aplikasi webmu terhadap berbagai serangan. Mari kita lihat beberapa contohnya:

a. X-Frame-Options

Header X-Frame-Options berguna untuk mencegah “clickjacking”.
Contoh:


add_header X-Frame-Options "SAMEORIGIN";

b. X-Content-Type-Options

Header X-Content-Type-Options berguna untuk mencegah MIME sniffing/Content sniffing.
Contoh:


add_header X-Content-Type-Options "nosniff";

c. X-XSS-Protection

Mengaktifkan filter Cross-site scripting (XSS) pada browser untuk mencegah attack XSS.
Contoh:


add_header X-XSS-Protection "1; mode=block";

d. Content-Security-Policy

Header ini dapat mencegah berbagai macam attack dengan menspesifikasikan resource yang dapat diload. Directivenya ada berbagai macam untuk mengontrol sourcenya seperti default-src,script-src, style-src, dan lainnya.
Contoh:


add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://apis.google.com";

e. Strict-Transport-Security (HSTS)

Header ini memaksa browser untuk menggunakan koneksi HTTPS.
Directivenya sebagai berikut:
‘max_age’ : Mengatur berapa lama browser harus mengakses website dengan HTTPS (dalam detik).
‘includeSubDomains’ : Menerapkan rule ini ke subdomain juga.
‘preload’ : Menambahkan domain ke list preload HSTS browser.
Contoh:


add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

f. Referrer-Policy

Mengontrol berapa banyak referrer information dikirim saat pengguna membuka website.
Contoh:


add_header Referrer-Policy "no-referrer";

Contoh Implementasi


# Security headers 
add_header X-Frame-Options "SAMEORIGIN"; 
add_header X-Content-Type-Options "nosniff"; 
add_header X-XSS-Protection "1; mode=block"; 
add_header Content-Security-Policy "default-src 'self'; 
script-src 'self' https://apis.google.com"; 
add_header Strict-Transport-Security "max-age=31536000; 
includeSubDomains; 
preload"; 
add_header Referrer-Policy "no-referrer";

3. SSL

Kamu juga bisa konfigurasi SSL dari load balancer NGINX dengan menambahkan script berikut pada block server:


server {
listen 443 ssl; 
server_name namadomain.com; 
ssl_certificate /path/to/certificate.crt; 
ssl_certificate_key /path/to/private.key;

Note: sesuaikan path certificate dan private keynya


location / { 
proxy_pass http://backend; 
proxy_set_header Host $host; 
proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

Verifikasi

Jika sudah selesai mengedit, klik save untuk menerapkan perubahan pada filenya.
klik verifikasi - konfigurasi load balancer
Setelah itu, restart node Load Balancer.
restart nodes konfigurasi load balancer
Untuk testing dan verifikasi konfigurasinya kamu bisa cek di lognya dan konfirmasi bahwa tidak ada error yang terjadi.
klik 'log'
Untuk mengecek error lognya kamu bisa klik Log di Load Balancer. Kemudian, masuk ke directory ‘nginx’ lalu buka file error.log untuk melihat log errornya
masuk directory nginx konfigurasi load balancer

Kesimpulan

Bagaimana, apakah kamu sudah mendapat gambaran tentang cara menambahkan konfigurasi custom NGINX di Dewacloud? Kami harap artikel ini dapat membantumu dalam pengembangan aplikasi webmu kedepannya. Kalau kamu masih bingung, silakan chat Ninja Support kami yang selalu sedia melayanimu 24/7 untuk bantuan!

Picture of Dewacloud Team

Dewacloud Team

Dewacloud Specialist Team helps customers daily 24/7 and on their free time, they also create quality tutorial content for our precious customers.