NGINX proxy_pass на другой порт

Я пытаюсь выполнить auth_request в nginx через прокси-сервер, но продолжаю получать:

1 auth request unexpected status: 301

вот моя конфигурация:

server {
    listen      8080;
    server_name  localhost;

    location /my_location/ {
        auth_request /access/auth;
        try_files $uri =404;
    }

    location /access/auth/{
        proxy_pass   http://localhost:5029/server_alias/web_service_name;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }

}

Запрос должен быть отправлен на сервер Apache, который прослушивает порт 5029. Что я делаю неправильно?


person Yasmin Reda    schedule 25.11.2015    source источник
comment
Я думаю, вам следует узнать, как работают proxy_pass и auth_request.   -  person Alexey Ten    schedule 25.11.2015
comment
Основываясь на ответе задачи, я думаю, вам следует научиться читать. @АлексейТен   -  person mirza    schedule 13.06.2017


Ответы (1)


Я нашел ответ для тех, кто столкнулся с той же проблемой. В пути auth_request отсутствовала только обратная косая черта.

location /my_location/ {
    auth_request /access/auth/;
    try_files $uri =404;
}
person Yasmin Reda    schedule 25.11.2015
comment
Это была именно моя проблема. Благодарю вас! - person Adi; 11.06.2017
comment
Если в качестве суффикса нет обратной косой черты, nginx всегда будет отправлять клиенту ответ со статусом 301. - person Light.G; 03.01.2019