Cara mengaktifkan otentikasi dasar di nginx

Cara mengaktifkan otentikasi dasar di nginx

Nginx adalah salah satu server web populer yang digunakan untuk hosting web. Dalam tutorial ini, Anda akan belajar cara mengkonfigurasi otentikasi dasar di Nginx untuk situs web Anda. Tutorial ini akan digunakan htpasswd Paket Perintah dari Paket Apache Tools Untuk Menghasilkan File Kredensial Terenkripsi.

1. Instal alat Apache

Anda membutuhkan htpasswd perintah untuk membuat .htpasswd dengan detail login terenkripsi. Jadi instal alat Apache untuk mendapatkan htpasswd Perintah di sistem Anda.

Menggunakan apt-get:

$ sudo apt-get install apache2-utils 

Menggunakan yum:

$ yum instal httpd-tools 
  • Cara mengatur host virtual nginx di ubuntu dan debian

2. Buat file kredensial

Pertama, Anda perlu membuat kosong /etc/nginx/.htpasswd file jika tidak ada. Anda juga dapat melakukan ini menggunakan -c dalam perintah htpasswd. Tetapi ini menimpa file yang ada dan Anda mungkin tidak sengaja menimpa file yang ada saat menambahkan lebih banyak pengguna.

$ touch/etc/nginx/.htpasswd 

Perintah di atas akan membuat file baru atau hanya mengubah cap waktu untuk file yang ada. Mari kita mulai menambahkan pengguna baru menggunakan perintah htpasswd.

$ htpasswd -m/etc/nginx/.htpasswd user1 $ htpasswd -m/etc/nginx/.htpasswd user2 
  • -M digunakan untuk membuat kata sandi terenkripsi md5.

3. Edit konfigurasi nginx

Pada langkah ini, edit file konfigurasi nginx untuk blok server Anda. Tambahkan entri berikut di blok server yang Anda butuhkan untuk mengotentikasi.

server listen 80 default_server; nama server _; root/usr/share/nginx/html;  lokasi / auth_basic "area terbatas"; auth_basic_user_file/etc/nginx/.htpasswd;   

Perbarui jalur lokasi untuk membatasi URL aplikasi spesifik dari aplikasi web Anda.

 Lokasi /Terbatas / auth_basic "area terbatas"; auth_basic_user_file/etc/nginx/.htpasswd;  

4. Reload Nginx Server

Untuk menerapkan perubahan pada server konfigurasi server Anda server Nginx menggunakan perintah berikut.

$ sudo /etc /init.D/Nginx Reload 

Pengguna SystemCTL juga dapat menggunakan perintah di bawah ini.

$ sudo systemctl Reload nginx.melayani