Maison > Article > Opération et maintenance > Comment utiliser htpasswd pour protéger par mot de passe le site Web dans Nginx
L'effet final est similaire (l'interface des différents navigateurs est différente) :
Si l'authentification échoue, une erreur http sera signalée : autorisation 401 requise.
Pour implémenter une telle fonction, vous devez modifier la configuration du serveur et définir le nom d'utilisateur et le mot de passe pour la connexion.
Nous devons d'abord modifier la configuration du serveur nginx du site Web. Pour le serveur Ubuntu, ce fichier de configuration se trouve généralement dans /etc/nginx/sites-enabled/. Par exemple, j'utilise le fichier de configuration par défaut /etc/nginx/sites. -enabled/default ici. Faites un exemple :
Copiez le code Le code est le suivant :
server {
server_name www.fancycedar.info
root /www/fancycedar
# ...
location / {
# Ajoutez les deux lignes suivantes
auth_basic "restricted" ;
auth_basic_user_file htpasswd;
# ...
}
# ...
}
Ensuite, vous devez créer le fichier htpasswd. Il y a quelques détails auxquels il faut prêter attention. : Le chemin de
htpasswd
est au même niveau que le répertoire nginx.conf suffit. Pour les serveurs Ubuntu, il se trouve généralement sous /etc/nginx/. Le contenu de
htpasswd
Chaque ligne représente un utilisateur et le format est nom d'utilisateur : mot de passe. Mais veuillez noter que le mot de passe ici n'est pas du texte brut, mais une chaîne cryptée par crypt(3).
Vous pouvez utiliser un morceau de code php pour générer le mot de passe dans htpasswd :
Copiez le code Le code est le suivant :
// Mot de passe en texte brut
$password = 'some password';
$password = crypt( $password, base64_encode($password));
// Obtenez le mot de passe crypté
echo $password;
username2 ; prêt ?
Une fois les préparatifs ci-dessus terminés, nous pouvons recharger ou redémarrer le serveur nginx :
Copiez le code Le code est le suivant :
sudo /etc/init.d/ nginx reload
sudo /etc/init.d/nginx restart
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!