sudo apt-get install apache2-utils
$ sudo htpasswd -c /etc/nginx/.htpasswd exampleuser New password: Re-type new password: Adding password for user exampleuser
chmod 640 /etc/nginx/.htpasswd exampleuser chown www-data:www-data /etc/nginx/.htpasswd
La structure du fichier htpasswd est sous la forme suivante :
login:Hash_mdp
auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd;
Exemple :
server {
listen portnumber;
server_name ip_address;
location / {
root /var/www/mywebsite.com;
index index.html index.htm;
auth_basic "Restricted"; #For Basic Auth
auth_basic_user_file /etc/nginx/.htpasswd; #For Basic Auth
}
}
On vérifie la configuration de Nginx.
nginx -t
Si ok, on la recharge
service nginx reload
Appliquez cette configuration que pour les sites en HTTPS seulement. Sinon, le mot de passe sera envoyé en clair !