Защита паролем Nginx - PullRequest
       5

Защита паролем Nginx

2 голосов
/ 27 января 2011

Мне нужно защитить паролем мою папку, используя nginx.

Я использовал это правило

    location ^~ /test/
    {
            auth_basic            "Restricted";
            auth_basic_user_file  conf/htpasswd;
    }

Но проблема в том, что если я пойду в /test/file.php, то этоработает, не требует авторизации.Только / test / запрашивает пароль.

Ответы [ 2 ]

1 голос
/ 28 января 2011

Я использую это так:

        location ~ /img/index.php {
        root   /var/www/nginx-default/phpmyedit/;
        auth_basic "phpmyedit";
        auth_basic_user_file /var/www/phpmyedit.pass;
        access_log   /var/log/nginx/img.log;
         fastcgi_pass 127.0.0.1:9000;
         fastcgi_index index.php;
         fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
         include /etc/nginx/fastcgi_params;
    }
0 голосов
/ 19 января 2018

Если вы правильно настроили пароли, все, что вам нужно сделать, это удалить косую черту в вашем пути. Кроме того, вам не нужно ^ ~ в правиле. Вот пример:

         location /test {
             try_files $uri $uri/ =404;
             auth_basic "Access Denied!";
             auth_basic_user_file /etc/nginx/.htpasswd;
         }

Чтобы добавить новых пользователей к паролю, выполните следующие действия:

sudo sh -c "echo -n 'admin:' >> /etc/nginx/.htpasswd"

Это добавит нового пользователя: admin в файл. Чтобы установить зашифрованный пароль для этого нового пользователя, используйте:

sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"

Вам будет предложено ввести пароль и подтвердить новый пароль. Вот и все. Все готово!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...