Nginx - auth_basic - (equivalent .htaccess)

l e . n o xl e . n o x Member
août 2011 modifié dans Entraide
Nginx - auth_basic - htaccess

Voici les quelques lignes que j'aurai aimer trouver en googlant il y a quelques heures ;O)

Le but était de disposer de 2 blogs pluxml un totalement ouvert et l'autre avec restriction accès par mot de passe.
Avec "auth_basic_user_file" et "auth_basic" nous sommes sur la bonne piste.

Cependant il ne faut pas oublier la 4eme ligne du bloque code qui suit
Sans ceci nginx me gratifié d'un jolie "PASSE TON CHEMIN, tu n'as pas accès à ce dossier"
   location ~* /blog/blogpepette {
        auth_basic "Bonjour, qui est la ;O)";
        auth_basic_user_file /etc/nginx/MesMotsdepasses;
        index  index.html index.htm index.php;
        }
Voici l'Environnement de travail ( 2 blogs Pluxml dans le meme sous dossier) :
/var/www/
|-- index_fichiers
| |-- *.png
| `-- *.ico
|-- logs
| |-- access.log
| |-- error.log
`-- blog
|-- blogpapa
|-- .....
`-- blogpepette

Voici comment sécuriser par mot de passe un dossier :
Dossier racine root = /var/www
Dossier à protéger=/var/www/blog/aimyblog

====================================================
Voici l’intégralité du fichier /etc/ngnix/sites-enabled/default-site
====================================================
server {
    listen       80;
        server_name  monhome.dyndns.org;
    root         /var/www;

    access_log  /var/www/logs/nginx_access.log;
    error_log  /var/www/logs/nginx_error.log;

        # Static
        location / {
        index  index.html index.htm index.php;
        }

        # PHP scripts -> PHP-FPM server listening on 127.0.0.1:9000
        location ~ \.php$ {
                 fastcgi_pass   127.0.0.1:9000;
                 fastcgi_index  index.php;
                 include fastcgi_params;
                 fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
        }

    # Security
    location ~ /\.ht {
        deny  all;
    }

    # Stuffs
    location = /favicon.ico {
        access_log     off;
        return     204;
    }

    location ~* ^.+\.(jpg|jpeg|gif|css|png|js|xml)$ {
        expires    30d;
    }

################# DEBUT : Config specifique pour PLUXML ###########################

    # Security password sur dossier root = /var/www >> /blog/blogpepette
    location ~* /blog/blogpepette {
        auth_basic "Bonjour, qui est la ;O)";
        auth_basic_user_file /etc/nginx/MesMotsdepasses;

        index  index.html index.htm index.php;
        }

    #directory protection pour Pluxml papa
    location ^~ /blog/blogpapa/data/configuration/ {
    deny all;
    }
        location ^~ /blog/blogpapa/version {
        deny all;
        }
        location ^~ /blog/blogpapa/update {
        deny all;
        }

    #directory protection pour blogpepette
    location ^~ /blog/blogpepette/data/configuration/ {
    deny all;
    }
        location ^~ /blog/blogpepette/version {
        deny all;
        }
        location ^~ /blog/blogpepette/update {
        deny all;
        }
################# FIN : Config specifique pour PLUXML ###########################
}
Pour le fichier "/etc/nginx/nginx.conf" rien n'a été modifier.

Si vous avez des conseils pour améliorer la compatibilitée avec pluxml ou avec la sécurité, la boite à idée est ouverte ;O)


Bonne soirée @ tous
Connectez-vous ou Inscrivez-vous pour répondre.