Bagaimana untuk mengkonfigurasi halaman pengesahan pengguna Nginx

PHPz
Lepaskan: 2023-05-12 08:10:11
ke hadapan
2405 orang telah melayarinya

Kata Pengantar

Senario aplikasi: Mungkin laman web dalaman perlu diakses oleh pengguna luaran, dan pada masa yang sama, pelawat tidak boleh diberi kebenaran akaun tapak web, jadi sekatan dikenakan pada tahap nginx. Sebagai contoh, dalam projek penyumberan luar, pekerja dalaman mempunyai akaun untuk mengendalikan dokumen, manakala pekerja penyumberan luar tidak mempunyai akaun dalaman, tetapi mereka perlu dapat melihat dokumen Oleh itu, menetapkan pengesahan pengguna di peringkat nginx adalah pilihan terbaik dan paling mudah Dalam kebanyakan kes, majikan tidak akan Membuka akaun dengan hak akses asas untuk pekerja penyumberan luar.

Prasyarat untuk pengesahan pengguna di peringkat nginx: program penciptaan kata laluan yang sepadan diperlukan, seperti apache2-utils (debian, ubuntu) atau httpd-tools (rhel/centos/oracle linux), operasi berbeza Sistem perisian yang berbeza.

Buat fail kata laluan akaun

  • Gunakan arahan sudo htpasswd -c /etc/apache2/.htpasswd user1  untuk mencipta akaun pertama, kemudian tekan enter untuk memasukkan kata laluan. Perintah yang sama tidak mempunyai parameter -c untuk mencipta pengguna kedua dan kata laluan Parameter -c adalah untuk mencipta fail semula dalam perintah kedua dan seterusnya.

  • Sahkan bahawa fail dan maklumat akaun berjaya dihasilkan. Gunakan perintah cat /etc/apache2/.htpasswd untuk melihat kandungan fail tersebut. seperti: user1:$apr1$/woc1jnp$kah0ssvn5qesmjttn0e9q0 , dsb.

Konfigurasikan nginx untuk pengesahan pengguna asas http

Gunakan arahan auth_basic untuk menentukan nama kawasan yang dilindungi dipaparkan dalam Pada tetingkap timbul akaun dan kata laluan, gunakan perintah auth_basic_user_file untuk menetapkan laluan .htpasswd dengan maklumat akaun dan kata laluan. Sebagai contoh, konfigurasi:

location /api {
 auth_basic   "administrator's area";
 auth_basic_user_file /etc/apache2/.htpasswd; 
}
Salin selepas log masuk

Selain itu, jika blok tidak mahu mewarisi keseluruhan sistem pengesahan, anda boleh mematikan auth_basic dalam blok, iaitu pengesahan pengguna dimatikan. Contohnya konfigurasi:

server {
 ...
 auth_basic   "administrator's area";
 auth_basic_user_file conf/htpasswd;

 location /public/ {
  auth_basic off;
 }
}
Salin selepas log masuk

Menggabungkan pengesahan dengan sekatan akses mengikut alamat ip

Pengesahan asas http boleh digabungkan dengan berkesan dengan sekatan akses mengikut alamat ip. Anda boleh melaksanakan sekurang-kurangnya dua senario:

  • Pengguna perlu disahkan dan mempunyai hak akses ip

  • Pengguna perlu disahkan atau mempunyai ip akses kebenaran Akses

1 Gunakan arahan benarkan dan tolak untuk membenarkan atau menyekat akses kepada IP yang ditentukan, contohnya, konfigurasikan:

location /api {
 #... deny 192.168.1.2;
 allow 192.168.1.1/24;
 allow 127.0.0.1;
 deny all;
}
Salin selepas log masuk

2. Pada alamat 192.168.1.2 Untuk rangkaian lain, hanya akses kepada 192.168.1.1/24 diberikan. Nota: benarkan dan tolak arahan akan digunakan dalam susunan yang ditentukan.

Gabungkan sekatan dengan arahan yang memuaskan melalui pengesahan ip dan http. Jika arahan ditetapkan kepada semua, akses diberikan apabila pelanggan memenuhi dua syarat ini. Jika arahan ditetapkan kepada mana-mana, akses diberikan jika pelanggan memenuhi sekurang-kurangnya satu syarat, contohnya konfigurasi:

location /api {
 #... satisfy all; 

 deny 192.168.1.2;
 allow 192.168.1.1/24;
 allow 127.0.0.1;
 deny all;

 auth_basic   "administrator's area";
 auth_basic_user_file conf/htpasswd;
}
Salin selepas log masuk

Perkara di atas boleh disusun menjadi contoh lengkap:

http {
 server {
  listen 192.168.1.23:8080;
  root /usr/share/nginx/html;

  location /api {
   api;
   satisfy all;

   deny 192.168.1.2;
   allow 192.168.1.1/24;
   allow 127.0.0.1;
   deny all;

   auth_basic   "administrator's area";
   auth_basic_user_file /etc/apache2/.htpasswd; 
  }
 }
}
Salin selepas log masuk

Kesan akhir adalah seperti yang ditunjukkan di bawah:

Bagaimana untuk mengkonfigurasi halaman pengesahan pengguna Nginx

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi halaman pengesahan pengguna Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!