Как разрешить доступ к каталогу с помощью модуля nginx auth_request + python
Я хочу разрешить доступ к каталогу /private
с помощью auth_request
Модуль Nginx.
В документации по Nginx мне кажется, что я должен сделать следующее:
server {
listen 80;
server_name localhost;
location /private/{
auth_request /auth;
}
location /auth {
proxy_pass http://localhost:8080/;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}
}
В моем случае http://localhost:8080/
сервер Python, который должен аутентифицировать пользователей по базе данных Вот код Python:
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def post(self):
print(str(self.request))
raise tornado.web.HTTPError(403) # just test
def get(self):
print(str(self.request))
raise tornado.web.HTTPError(401) # test also
application = tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
application.listen(8080)
tornado.ioloop.IOLoop.current().start()
Теперь, когда я посещаю http://localhost/private/
в браузере он печатает:
в ожидании моего кода он возвращает
401 Authorization Required
Вопрос: как запросить / получить имя пользователя и пароль, чтобы я мог вызвать исключение 401 или пропустить пользователя?