Cara Melindungi Direktori Web di Nginx

Cara Melindungi Direktori Web di Nginx

Manajer proyek web seringkali perlu melindungi pekerjaan mereka dengan satu atau lain cara. Seringkali orang bertanya bagaimana cara melindungi kata sandi situs web mereka saat masih dalam pengembangan.

Nginx Password Protect Web Directory

Dalam tutorial ini, kami akan menunjukkan kepada Anda teknik yang sederhana, tetapi efektif bagaimana cara melindungi kata sandi Web Directory saat menjalankan Nginx sebagai server web.

Jika Anda menggunakan Apache Web Server, Anda dapat memeriksa panduan kami untuk kata sandi yang melindungi direktori web:

  1. Kata Sandi Melindungi Direktori Web di Apache

Persyaratan

Untuk menyelesaikan langkah -langkah dalam tutorial ini, Anda harus memiliki:

  • Server web nginx diinstal
  • Akses root ke server

Langkah 1: Buat Pengguna dan Kata Sandi

1. Untuk melindungi Direktori Web kami, kami perlu membuat file yang akan berisi terenkripsi kami nama belakang Dan kata sandi.

Ketika menggunakan Apache, Anda dapat menggunakan “htpasswd" kegunaan. Jika Anda memiliki utilitas yang diinstal pada sistem Anda, Anda dapat menggunakan perintah ini untuk menghasilkan file kata sandi:

# htpasswd -c/path/to/file/.Nama pengguna htpasswd 

Saat menjalankan perintah ini, Anda akan diminta untuk mengatur kata sandi untuk pengguna di atas dan setelah itu .htpasswd File akan dibuat di direktori yang ditentukan.

htpasswd: buat file kata sandi pengguna nginx

2. Jika Anda tidak menginstal alat itu, Anda dapat membuat .htpasswd file secara manual. File harus memiliki sintaks berikut:

Nama Pengguna: Terenkripsi-Password: Komentar

Itu nama belakang yang akan Anda gunakan tergantung pada Anda, pilih apapun yang Anda suka.

Bagian yang lebih penting adalah cara Anda akan menghasilkan kata sandi untuk pengguna itu.

Langkah 2: Hasilkan kata sandi terenkripsi

3. Untuk menghasilkan kata sandi, gunakan Perl's Integrated "ruang bawah tanah" fungsi.

Berikut adalah contoh dari perintah itu:

# Perl -le 'Print Crypt ("Your-Password", "Salt-Hash")' 

Contoh Kehidupan Nyata:

# Perl -le 'Print Crypt ("# 12dfsaa $ fa", "1xzcq")' 
Hasilkan PASWORD terenkripsi

Sekarang buka file dan letakkan nama pengguna Anda dan yang dihasilkan di string itu, dipisahkan dengan titik koma.

Begini caranya:

# vi/home/tecmint/.htpasswd 

Letakkan nama pengguna dan kata sandi Anda. Dalam kasus saya sepertinya ini:

tecmint: 1xv2rdw7q6mk. 

Simpan file dengan memukul "ESC" diikuti oleh “: WQ”.

Tambahkan kata sandi terenkripsi ke htpasswd

Langkah 3: Perbarui Konfigurasi Nginx

4. Sekarang buka dan edit file konfigurasi nginx yang terkait dengan situs yang sedang Anda kerjakan. Dalam kasus kami, kami akan menggunakan file default di:

# vi/etc/nginx/conf.D/Default.conf [for Centos sistem berbasis] atau # vi/etc/nginx/nginx.conf [for Centos sistem berbasis] # vi/etc/nginx/site-enabled/default [untuk Debian sistem berbasis] 

Dalam contoh kami, kami akan kata sandi melindungi root direktori untuk nginx, yaitu: /usr/share/nginx/html.

5. Sekarang tambahkan dua bagian baris berikut di bawah jalur yang ingin Anda lindungi.

AUTH_BASIC "Login Administrator"; auth_basic_user_file/home/tecmint/.htpasswd; 
Direktori Lindungi Kata Sandi Nginx

Sekarang simpan file dan restart nginx dengan:

# Systemctl restart nginx atau # service nginx restart 

6. Sekarang salin/tempel alamat IP itu di browser Anda dan Anda harus diminta kata sandi:

Nginx Password Protect Login

Itu dia! Direktori web utama Anda sekarang dilindungi. Saat Anda ingin menghapus perlindungan kata sandi di situs, cukup hapus dua baris yang baru saja Anda tambahkan .htpasswd file atau gunakan perintah berikut untuk menghapus pengguna yang ditambahkan dari file kata sandi.

# htpasswd -d/path/to/file/.Nama pengguna htpasswd