Cara menggunakan Nginx untuk melaksanakan kawalan akses berasaskan pengesahan pengguna
Nginx ialah HTTP berprestasi tinggi dan pelayan proksi terbalik, yang digunakan secara meluas untuk membina aplikasi dan perkhidmatan web berskala. Selain prestasi cemerlangnya, Nginx juga menyediakan banyak ciri, salah satunya adalah kawalan akses berdasarkan pengesahan pengguna. Dalam artikel ini, kita akan belajar cara melaksanakan kawalan akses ini menggunakan Nginx dan memberikan beberapa contoh kod.
Mula-mula, kita perlu memasang Nginx. Anda boleh mendapatkan arahan pemasangan untuk sistem pengendalian anda di tapak web rasmi (https://nginx.org/). Selepas pemasangan selesai, pastikan Nginx telah berjaya dimulakan. Anda boleh menyemak status Nginx menggunakan arahan berikut:
sudo systemctl status nginx
Nginx menggunakan fail kata laluan untuk menyimpan bukti kelayakan pengguna. Kita boleh menggunakan alat htpasswd untuk mencipta fail ini. Jika htpasswd tidak dipasang pada sistem anda, anda boleh memasangnya menggunakan arahan berikut:
sudo apt-get install apache2-utils
Seterusnya, buat fail kata laluan menggunakan arahan htpasswd dan tambah beberapa pengguna. Sebagai contoh, kami akan mencipta fail kata laluan yang dipanggil .htpasswd dan menambah pengguna bernama pengguna. Taip arahan berikut dalam terminal:
sudo htpasswd -c /etc/nginx/.htpasswd user
Arahan itu akan meminta anda untuk kata laluan pengguna anda. Ingat, setiap pengguna memerlukan kata laluan mereka sendiri.
Kini kita perlu mengkonfigurasi Nginx untuk mendayakan kawalan akses berasaskan pengesahan pengguna. Kami mengubah hala permintaan daripada pengguna yang tidak dibenarkan ke halaman 401 Tidak dibenarkan. Buka fail konfigurasi Nginx dan buat perubahan berikut.
sudo nano /etc/nginx/sites-available/default
Dalam blok pelayan, tambahkan kod berikut:
location / { auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd; try_files $uri $uri/ =404; }
Selepas menyimpan dan menutup fail, muat semula konfigurasi Nginx:
sudo systemctl reload nginx
Sekarang, anda telah menyediakan kawalan akses berdasarkan pengesahan pengguna . Anda boleh menguji ini menggunakan mana-mana penyemak imbas yang menyokong Pengesahan Asas HTTP. Apabila anda cuba mengakses halaman yang dilindungi, penyemak imbas akan menggesa anda untuk mendapatkan kelayakan anda.
Jika anda menggunakan penyemak imbas Chrome, ia akan memaparkan tetingkap timbul yang meminta anda memasukkan nama pengguna dan kata laluan anda.
Jika anda menggunakan pelayar lain, ia mungkin memaparkan medan input kelayakan sebagai borang. Tidak kira pelayar mana yang anda gunakan, anda sepatutnya berjaya mengesahkan pengguna dan mengakses halaman yang dilindungi.
Nginx juga menyediakan beberapa pilihan konfigurasi lanjutan untuk kawalan akses yang lebih kompleks. Sebagai contoh, anda boleh mendayakan atau melumpuhkan pengesahan pengguna pada laluan URL yang ditentukan. Anda boleh menggunakan arahan akses had untuk mencapai ini. Berikut ialah contoh konfigurasi:
location /admin { auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd; allow 192.168.1.0/24; deny all; }
Konfigurasi ini hanya akan membenarkan alamat IP daripada subnet 192.168.1.0/24 untuk mengakses kandungan di bawah laluan /admin, manakala IP lain akan dinafikan akses.
Selain menggunakan pengesahan asas, Nginx juga menyokong penggunaan kaedah pengesahan lain seperti sijil SSL dan OAuth untuk melaksanakan kawalan akses.
Kesimpulan
Kawalan capaian berasaskan pengesahan pengguna boleh dilaksanakan dengan mudah menggunakan Nginx untuk memastikan hanya pengguna yang dibenarkan boleh mengakses kandungan yang dilindungi dalam aplikasi web. Dengan langkah di atas, anda boleh mula melindungi aplikasi web anda dan menghalang akses tanpa kebenaran.
Contoh Kod:
server { listen 80; server_name example.com; location / { auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd; try_files $uri $uri/ =404; } }
Sila ambil perhatian bahawa contoh di atas hanya menunjukkan cara mengkonfigurasi Nginx untuk kawalan akses asas. Dalam situasi sebenar, anda mungkin perlu mengkonfigurasi pelarasan konfigurasi dan nyahpepijat berdasarkan keperluan khusus anda.
Di atas adalah pengenalan kepada cara menggunakan Nginx untuk melaksanakan kawalan akses berdasarkan pengesahan pengguna. Saya harap artikel ini dapat membantu anda memahami dan menggunakan fungsi berkuasa Nginx dalam kawalan akses.
Atas ialah kandungan terperinci Cara menggunakan Nginx untuk melaksanakan kawalan akses berdasarkan pengesahan pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!