Vous souhaitez limiter l’accès à une partie de votre site qui est servi par Nginx, comme vous le faisiez avec Apache en utilisant les fichier htaccess et htpasswd ?
Mauvaise nouvelle : pas de fichier htaccess sous Nginx ![]()
Bonne nouvelle : vous pouvez quand même utiliser un fichier htpasswd
Sous Nginx plutôt que de mettre vos directives de sécurisation de répertoire (ou site ou dossier) dans un fichier .htaccess, on va les mettre directement dans le fichier de configuration du site.
Imaginons que vous souhaitiez sécuriser la racine de votre site qui est sous l’arborescence /var/www/mon-site/
Editer le fichier de configuration de votre site :
nano /etc/nginx/sites-available/mon-site.com
Et mettez les directives suivantes :
.
.
root /var/www/mon-site;
.
.
# Limitation d'accès
Location / {
auth_basic "Vous devez vous authentifier";
auth_basic_user_file /etc/nginx/htpasswd/mon-site.com;
}
Il ne reste plus qu’a créer le fichier contenant les couple login – mots de passe.
Pour ma par je les mets tous dans un dossier /etc/nginx/htpasswd, commencez par le créer si il n’existe pas sur votre serveur :
mkdir /etc/nginx/htpasswd/
Ensuite il suffit d’utiliser betement l’outil htpasswd d’Apache
htpasswd -b -c /etc/nginx/htpasswd/mon-site.com utilisateur mot-de-pass
Et voila !
Enfin non pas tout ç fait il vous faut relancer Nginx pour que cette limitation d’accès soit effective.
