Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So verwenden Sie htpasswd, um die Website in Nginx mit einem Passwort zu schützen

So verwenden Sie htpasswd, um die Website in Nginx mit einem Passwort zu schützen

王林
王林nach vorne
2023-05-17 15:49:06876Durchsuche

Der Endeffekt ist ähnlich (die Benutzeroberfläche verschiedener Browser ist unterschiedlich):

So verwenden Sie htpasswd, um die Website in Nginx mit einem Passwort zu schützen

Wenn die Authentifizierung fehlschlägt, wird ein http-Fehler gemeldet : 401 Autorisierung erforderlich.
Um eine solche Funktion zu implementieren, müssen Sie die Serverkonfiguration ändern und den Benutzernamen und das Passwort für die Anmeldung festlegen.
Zuerst müssen wir die Nginx-Serverkonfiguration der Website ändern. Für den Ubuntu-Server befindet sich diese Konfigurationsdatei normalerweise unter /etc/nginx/sites-enabled/. Ich verwende beispielsweise die Standardkonfigurationsdatei /etc/. nginx/sites-enabled hier. /default, um ein Beispiel zu erstellen:

Code kopieren Der Code lautet wie folgt:

server {
server_name www .fancycedar.info
root / www/fancycedar

# ...
location / {
# Fügen Sie die folgenden zwei Zeilen hinzu
auth_basic „restricted“ ;
auth_basic_user_file htpasswd;#🎜🎜 ## ...
}

# ...
}

Als nächstes müssen Sie Erstellen Sie die htpasswd-Datei. Hier sind einige Details, auf die Sie achten sollten: # 🎜🎜#

htpasswd path
und nginx.conf können sich im selben Verzeichnis befinden. Bei Ubuntu-Servern befindet es sich normalerweise unter /etc/nginx/.
htpasswd content
Jede Zeile ist für einen Benutzer und das Format ist Benutzername:Passwort. Bitte beachten Sie jedoch, dass es sich bei dem Passwort hier nicht um Klartext handelt, sondern um eine durch crypt(3) verschlüsselte Zeichenfolge. Sie können einen PHP-Code verwenden, um das Passwort in htpasswd zu generieren:


Code kopieren Der Code lautet wie folgt:

//Passwort Klartext

$password = 'irgendein Passwort';

// Verschlüsseln Sie das Passwort
$password = crypt($password, base64_encode($password));
// Erhalten Sie das verschlüsseltes Passwort#🎜 🎜#echo $password;

Dann schreiben Sie die Zeichenfolge in die htpasswd-Datei:

Code kopieren Der Code lautet wie folgt: #🎜🎜 #
Benutzername1 ;

Code kopieren Der Code lautet wie folgt:

sudo chown root:www-data htpasswd

sudo chmod 640 htpasswd
#🎜🎜 #sind Sie bereit?
wann Nachdem die oben genannten Vorbereitungen abgeschlossen sind, können wir den Nginx-Server neu laden oder neu starten:


Kopieren Sie den Code. Der Code lautet wie folgt: #🎜🎜 #
sudo /etc/ init.d/nginx reload

# oder

sudo /etc/init.d/nginx restart

Das obige ist der detaillierte Inhalt vonSo verwenden Sie htpasswd, um die Website in Nginx mit einem Passwort zu schützen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen