Vorwort
Anwendungsszenario: Wahrscheinlich müssen externe Benutzer auf die interne Website zugreifen, und gleichzeitig können Besuchern keine Website-Kontoberechtigungen erteilt werden, sodass auf Nginx-Ebene Einschränkungen auferlegt werden. Bei Outsourcing-Projekten verfügen beispielsweise interne Mitarbeiter über Konten zum Bearbeiten von Dokumenten, während ausgelagerte Mitarbeiter keine internen Konten haben, aber die Dokumente sehen müssen. Daher ist die Einstellung der Benutzerüberprüfung auf Nginx-Ebene die beste und einfachste Option In den meisten Fällen werden Arbeitgeber kein Konto mit grundlegenden Zugriffsrechten für ausgelagerte Mitarbeiter eröffnen.
Voraussetzungen für die Benutzerauthentifizierung auf Nginx-Ebene: Es ist ein entsprechendes Programm zur Passworterstellung erforderlich, z. B. Apache2-Utils (Debian, Ubuntu) oder httpd-tools (Rhel/Centos/Oracle Linux).
Erstellen Sie eine Kontopasswortdatei
Verwenden Sie den Befehl sudo htpasswd -c /etc/apache2/.htpasswd user1
, um das erste Konto zu erstellen, und drücken Sie dann die Eingabetaste, um das einzugeben Passwort, derselbe Befehl, es gibt keinen -c-Parameter zum Erstellen eines zweiten Benutzers und Passworts, der -c-Parameter dient zum Erstellen einer Datei und es besteht keine Notwendigkeit, die Datei im zweiten und den folgenden Befehlen erneut zu erstellen. sudo htpasswd -c /etc/apache2/.htpasswd user1
创建第一个账户,然后按下 enter 键输入密码,同样的命令,没有 -c 参数创建第二个用户及密码, -c 参数为创建文件,在第二次及以后的命令中不需要再次创建文件。
确认一下文件及账号信息生成成功,使用命令 cat /etc/apache2/.htpasswd 查看文件内容,应该为账号及加密后的密码,如:user1:$apr1$/woc1jnp$kah0ssvn5qesmjttn0e9q0
user1: $apr1$/woc1jnp$kah0ssvn5qesmjttn0e9q0
usw. location /api { auth_basic "administrator's area"; auth_basic_user_file /etc/apache2/.htpasswd; }
server { ... auth_basic "administrator's area"; auth_basic_user_file conf/htpasswd; location /public/ { auth_basic off; } }
location /api { #... deny 192.168.1.2; allow 192.168.1.1/24; allow 127.0.0.1; deny all; }
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; }
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; } } }
Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie die Nginx-Benutzerauthentifizierungsseite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!