Я пытаюсь настроить обратный прокси nginx перед некоторыми внутренними серверами с помощью auth_request, чтобы защитить их от неавторизованных пользователей. У меня есть сценарий аутентификации, работающий по адресу 192.168.1.101/scripts/auth/user.php, доступ к которому осуществляется внутри блока/auth. Проблема в том, что я хотел бы использовать именованное местоположение, а не соответствующий URI, чтобы не было риска столкновения URI с внутренней службой (которую я не контролирую). Следующие работы:nginx auth_request для удаленного сценария аутентификации
server {
listen 80;
server_name private.domain.com;
location /auth {
proxy_pass http://192.168.1.101/scripts/auth/user.php;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}
location/{
auth_request /auth;
proxy_pass http://internal.domain.com;
}
}
Я хотел бы, однако, чтобы заменить/авторизацию с @auth, когда я Nginx выдает ошибку во время relad. Я прочитал, что исправление заменяет proxy_pass внутри местоположения auth только с IP-адресом, однако, когда я делаю это, auth_request никогда не делает это для скрипта. Любые мысли о правильном способе работы с этой конфигурацией?