Maison > Opération et maintenance > Nginx > le corps du texte

Comment utiliser htpasswd pour protéger par mot de passe le site Web dans Nginx

王林
Libérer: 2023-05-17 15:49:06
avant
944 Les gens l'ont consulté

L'effet final est similaire (l'interface des différents navigateurs est différente) :

Comment utiliser htpasswd pour protéger par mot de passe le site Web dans Nginx

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;

Écrivez ensuite la chaîne dans le fichier htpasswd :


Copiez le code Le code est le suivant :

username1:xucqmk13tfooe

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

# ou

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal