web-dev-qa-db-fra.com

Comment configurer l'authentification par mot de passe du répertoire Nginx?

Comment mettre en place? Authentification par mot de passe du répertoire Nginx /usr/local/nginx/conf/vhost/xxx.xxx.com.conf, fichiers de configuration du site.
Je veux sur ce site xxx.xxx.com/12 dossiers dans la protection d’accès par mot de passe, similaire à Apache.Mais je ne sais pas comment faire nginx?
Heard: une protection par mot de passe de dossier pour définir le format de l'emplacement?

server
{
        listen       80;
        server_name xxx.xxx.com; #server_name end
        index index.html index.htm index.php; #index end

        set $subdomain '';
        root  /home/wwwroot/xxx.xxx.com/web$subdomain;
        include rewrite/amh.conf; #rewrite end

        #error_page
        error_page 400 /ErrorPages/400.html;
        error_page 403 /ErrorPages/403.html;
        error_page 404 /ErrorPages/404.html;
        error_page 502 /ErrorPages/502.html;
        location ~ /ErrorPages/(400|401|403|404|405|502|503)\.html$ 
        {
                root /home/wwwroot/xxx.xxx.com/web;
        }


        location ~ .*\.php$
        {
                fastcgi_pass  unix:/tmp/php-cgi-xxx.xxx.com.sock;
                fastcgi_index index.php;
                include fcgi-Host.conf;
                fastcgi_param DOCUMENT_ROOT  /web$subdomain;
                fastcgi_param SCRIPT_FILENAME  /web$subdomain$fastcgi_script_name;
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp3|wma)$
        {
                expires      30d;
        }

        location ~ .*\.(js|css)$
        {
                expires      12h;
        }

        access_log off; #access_log end
        error_log /dev/null; #error_log end
}
1
YingRui

Pour l'authentification de base HTTP à l'aide d'un fichier .htpasswd, utilisez le module auth_basic dans un bloc d'emplacement pour le répertoire protégé:

location /123 {
  auth_basic "Protected";
  auth_basic_user_file /path/to/.htpasswd;
}
1
dartonw