Nginx Base Auth - PullRequest
       2

Nginx Base Auth

0 голосов
/ 17 марта 2019

Я работаю с Django и Nginx

Я добавил следующую запись в мою конфигурацию, чтобы ограничить доступ к example.com/admin/

Функция запрашивает пароль, и все работает, но после этого, как я получаю ошибку 404 Not Found от Nginx

Полная конфигурация

    upstream rates_core_server {

  server unix:/webapps/example.com_app/example.com/run/gunicorn.sock fail_timeout=0;
}

server {

    listen   80;
    server_name example.com www.example.com;

    client_max_body_size 4G;

    access_log /webapps/example.com_app/logs/nginx-access.log;
    error_log /webapps/example.com_app/logs/nginx-error.log;

    location /admin/ {
        auth_basic "Restricted Content";
        auth_basic_user_file /etc/nginx/.htpasswd;
     }

    location /static/ {
        alias   /webapps/example.com_app/example.com/static/;
        client_max_body_size 100M;
    }

    location /media/ {
        alias   /webapps/example.com_app/example.com/static/media/;
        client_max_body_size 100M;
    }

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_redirect off;

        if (!-f $request_filename) {
            proxy_pass http://example.com_server;
            break;
        }
    }

    # Error pages
    error_page 500 502 503 504 /500.html;
    location = /500.html {
        root /webapps/example.com_app/example.com/static/;
    }
}

Я не понимаю, в чем проблема

1 Ответ

0 голосов
/ 17 марта 2019

С текущей конфигурацией, nginx не знает, где искать или перенаправлять для административного блока. Можете ли вы также включить настройки proxy_pass в свой блок администратора, например:

location /admin/ {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_redirect off;

    if (!-f $request_filename) {
        proxy_pass http://example.com_server;
        break;
    }

    auth_basic "Restricted Content";
    auth_basic_user_file /etc/nginx/.htpasswd;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...