Nginx : Limiter l’accès à un dossier ou site via htpasswd

Nginx : Limiter l'accés via htaccess et htpasswd

Nginx htpasswd

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.

Partagez cet article

Solution au problème FTP OVH

Vous avez un hébergement mutualisé chez OVH ?
Vous avez des problèmes avec vos transferts FTP OVH ?
Vous vous faites régulièrement insulter à coup de : 425 Failed to establish connection ?

J’ai peut être la solution : Essayez de configurer cotre client FTP en utilisant directement le nom d’hôte du cluster correspondant à votre hébergement (au lieu de ftp.votre-domaine.tld).

Pour savoir quel est le nom d’hôte du cluster OVH qui héberge votre site:

  1. Allez sur le manager OVH.
  2. Dans le menu déroulant du haut sélectionnez votre hébergement.
  3. Dans le menu de la colone de gauche cliquez sur « Mutualisé -> Hébergement ».
  4. Dans la partie droite de la page, dans la section « Résumé hébergement  » cliquez sur « Synthése« .
  5. Dans la section « Serveur FTP » vous devriez trouver une adresse du type: ftp://ftp.clusterXXX.ovh.net. C’est cette adresse qu’il faut utiliser.
N’hésitez pas à laisser un commentaire pour me dire si ça fonctionne dans votre cas.
Partagez cet article

Installer Nginx en tant que reverse proxy pour CouchDB

Cet article va décrire comment installer et configurer Nginx de sorte qu’il serve de reverse proxy pour notre serveur Couchdb.

Quel est l’interet ?

Dans mon précédent article traitant de couchDB je vous expliquais comment installer un serveur couchDB sur un cloud OVH. Par défaut le serveur va écouter sur l’adresse IP locale de loopback (127.0.0.1) , il sera donc inaccessible depuis l’exterieur. Pour pallier a cela, il suffirait de changer l’IP de loopback pour l’adresse IP publique du serveur. Seulement cette solution va être assez limité en terme de « tunning », par exemple pour assurer un controle sur « qui a le droit d’acceder a quoi par quel moyen » ou encore sur la gestion du load balancing, ou encore le SSL (on verra tout ça plus tard en détail).

On va donc mettre un serveur proxy en frontal qui va traiter toutes les requêtes entrantes, transmettre (éventuellement) les demandes au serveur CouchDB et retourner les réponse au client.

Pourquoi Nginx ?

C’est simple: ça fait un moment que j’en entend parler en bien mais je n’ai pas encore eu l’occasion de tester. Continue reading

Partagez cet article