Setup Basic Authentication di NGINX
Halo, teman-teman! Kali ini kita bakal bahas gimana caranya nge-setup basic authentication di NGINX. Basic authentication ini tuh kayak gembok buat website kita, jadi cuma orang-orang tertentu aja yang bisa akses. Nggak sembarang orang bisa masuk, harus punya username dan password dulu. Keren, kan?
Apa Itu Basic Authentication?
Basic authentication itu metode autentikasi yang simpel banget. Ketika kamu coba akses website yang diproteksi, bakal muncul pop-up minta username dan password. Kalau nggak punya, ya nggak bisa masuk. Gampang, kan?
Kenapa Pake NGINX?
NGINX tuh web server yang kenceng banget dan banyak dipake buat nge-host website. Selain itu, NGINX juga punya fitur keamanan yang oke, termasuk basic authentication. Jadi, nggak ada salahnya kita coba setup basic authentication di NGINX.
Langkah-Langkah Setup Basic Authentication di NGINX
Install
apache2-utils
Pertama, kita butuh tools buat bikin file password. Di sini kita pake
htpasswd
yang ada di packageapache2-utils
. Buat yang pake Ubuntu atau Debian, tinggal ketik:sudo apt-get update sudo apt-get install apache2-utils
Buat yang pake CentOS atau Fedora, pake perintah:
sudo yum install httpd-tools
Bikin File Password
Sekarang, kita bikin file password pake
htpasswd
. Misalnya, kita mau bikin usernameadmin
:sudo htpasswd -c /etc/nginx/.htpasswd admin
Nanti kamu bakal diminta masukin password buat user
admin
. File.htpasswd
bakal disimpen di/etc/nginx
.Kalau mau nambah user lagi, tinggal pake perintah yang sama tanpa
-c
:sudo htpasswd /etc/nginx/.htpasswd user2
Jangan lupa,
-c
cuma dipake waktu bikin file password pertama kali.Konfigurasi NGINX
Sekarang, buka file konfigurasi NGINX kamu. Biasanya ada di
/etc/nginx/sites-available/default
atau/etc/nginx/nginx.conf
. Cari bagianserver
ataulocation
yang mau kamu proteksi.Tambahkan konfigurasi ini di dalam
server
ataulocation
:auth_basic "Restricted Area"; auth_basic_user_file /etc/nginx/.htpasswd;
Contoh lengkapnya:
server { listen 80; server_name example.com; location / { auth_basic "Restricted Area"; auth_basic_user_file /etc/nginx/.htpasswd; # ... konfigurasi lainnya ... } }
Simpan file konfigurasi dan keluar.
Test Konfigurasi dan Restart NGINX
Sebelum restart NGINX, pastiin dulu konfigurasinya bener pake perintah:
sudo nginx -t
Kalau keluar pesan
syntax is okay
dantest is successful
, berarti konfigurasinya bener. Terus, restart NGINX:sudo systemctl restart nginx
Atau pake perintah:
sudo service nginx restart
Coba Akses Website
Buka browser dan akses website kamu. Harusnya muncul pop-up minta username dan password. Masukin username dan password yang udah kamu bikin tadi. Kalau berhasil, kamu bakal bisa akses website. Kalau gagal, coba cek lagi konfigurasinya.
Tips Tambahan
Ganti Password Secara Berkala: Biar lebih aman, ganti password secara berkala. Pake perintah
htpasswd
lagi buat ganti password user yang udah ada.Proteksi Folder Tertentu: Kalau mau proteksi folder tertentu, tambahkan konfigurasi di dalam
location
yang sesuai. Misalnya, buat proteksi folder/admin
:location /admin { auth_basic "Admin Area"; auth_basic_user_file /etc/nginx/.htpasswd; }
Jangan Lupa Backup: Selalu backup file konfigurasi dan file
.htpasswd
biar aman.
Nah, gampang banget, kan? Dengan basic authentication, website kamu jadi lebih aman dari orang-orang yang nggak diundang. Selamat mencoba!