Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana Nginx melaksanakan konfigurasi kawalan akses berdasarkan pengesahan pengguna

Bagaimana Nginx melaksanakan konfigurasi kawalan akses berdasarkan pengesahan pengguna

王林
王林asal
2023-11-08 10:11:04806semak imbas

Bagaimana Nginx melaksanakan konfigurasi kawalan akses berdasarkan pengesahan pengguna

Cara Nginx melaksanakan konfigurasi kawalan akses berdasarkan pengesahan pengguna memerlukan contoh kod khusus

Nginx ialah perisian pelayan web berprestasi tinggi Selain perkhidmatan fail statik biasa dan fungsi proksi terbalik, Nginx juga menyediakan banyak fungsi Berkuasa seperti pengesahan pengguna, kawalan akses, dsb. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Nginx untuk melaksanakan konfigurasi kawalan akses berdasarkan pengesahan pengguna, dan memberikan contoh kod khusus.

Pertama, kita perlu menambah kod berikut pada fail konfigurasi Nginx untuk mendayakan fungsi berasaskan pengesahan pengguna:

location / {
    auth_basic           "Restricted";                      # 启用基于用户认证的访问控制
    auth_basic_user_file /etc/nginx/.htpasswd;              # 指定保存用户认证信息的文件路径
    try_files            $uri $uri/ /index.php?$query_string; # 其他需要处理的请求
}

Dalam kod di atas, auth_basic bermaksud mendayakan fungsi pengesahan berasaskan pengguna dan menetapkan mesej gesaan Pengesahan "Terhad". auth_basic_user_file menentukan laluan fail untuk menyimpan maklumat pengesahan pengguna Fail ini boleh dijana menggunakan alat htpasswd. auth_basic表示启用基于用户认证的功能,并设置了一个认证提示信息"Restricted"。 auth_basic_user_file指定了保存用户认证信息的文件路径,这个文件可以使用htpasswd工具来生成。

接下来,我们需要使用htpasswd工具生成用户认证信息文件。在终端中运行以下命令:

$ htpasswd -c /etc/nginx/.htpasswd username

上面的命令中,-c表示创建一个新的文件,/etc/nginx/.htpasswd是保存用户认证信息的文件路径,username是需要添加到认证文件中的用户名。执行上述命令后,将会让你设置密码。

现在,我们来创建一个简单的示例来测试基于用户认证的访问控制。

假设我们有一个网站,其中只有经过认证的用户才能访问/admin目录。在Nginx的配置文件中添加以下代码:

location /admin/ {
    auth_basic           "Restricted";                      # 启用基于用户认证的访问控制
    auth_basic_user_file /etc/nginx/.htpasswd;              # 指定保存用户认证信息的文件路径
    try_files            $uri $uri/ /index.php?$query_string; # 其他需要处理的请求
}

保存配置文件并重新加载Nginx服务。然后,尝试访问/admin

Seterusnya, kita perlu menggunakan alat htpasswd untuk menjana fail maklumat pengesahan pengguna. Jalankan arahan berikut dalam terminal:

rrreee

Dalam arahan di atas, -c bermaksud mencipta fail baharu dan /etc/nginx/.htpasswd adalah untuk menyimpan laluan fail maklumat pengesahan pengguna, nama pengguna ialah nama pengguna yang perlu ditambahkan pada fail pengesahan. Selepas melaksanakan arahan di atas, anda akan diminta untuk menetapkan kata laluan. 🎜🎜Sekarang, mari buat contoh mudah untuk menguji kawalan akses berdasarkan pengesahan pengguna. 🎜🎜Andaikan kami mempunyai tapak web yang hanya pengguna yang disahkan boleh mengakses direktori /admin. Tambahkan kod berikut dalam fail konfigurasi Nginx: 🎜rrreee🎜 Simpan fail konfigurasi dan muat semula perkhidmatan Nginx. Kemudian, cuba akses direktori /admin dan anda akan diminta memasukkan nama pengguna dan kata laluan anda. 🎜🎜Di atas adalah langkah khusus dan kod sampel untuk menggunakan Nginx untuk melaksanakan konfigurasi kawalan akses berdasarkan pengesahan pengguna. Dengan menggunakan ciri ini, anda boleh melindungi tapak web anda dengan berkesan daripada pengguna yang tidak dibenarkan. Ingat bahawa untuk tujuan keselamatan, anda harus menukar maklumat pengesahan pengguna dengan kerap dan mengehadkan akses kepada fail yang menyimpan maklumat pengesahan pengguna. 🎜

Atas ialah kandungan terperinci Bagaimana Nginx melaksanakan konfigurasi kawalan akses berdasarkan pengesahan pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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