При внутренней обработке перенаправления Nginx 302 перенаправление должно проходить через прокси-сервер

У меня есть конфигурация Nginx, которая обслуживает конечную точку AWS Kibana.

server {
    listen 0.0.0.0:80;
    location / {
    proxy_pass http://<vpc-elasticsearch-endpoint>/_plugin/kibana/;
    }
}

Проблема в том, что когда я получаю доступ к URL-адресу Nginx, я перенаправляюсь на другую конечную точку с 302, (AWS cognito), который я не может получить доступ из браузера.

URL-адрес Cognito выглядит так: http: // vpc- *****. Amazonaws.com

Мне нужно разрешить URL-адрес Cognito через сам Nginx. Возможно, добавьте еще один блок местоположения для разрешения Cognito. Таким образом, конечный пользователь видит исходную конечную точку nginx, которую она использовала для доступа к Nginx перед перенаправлением в Cognito.

Как этого добиться в Nginx?

0
задан 25 June 2019 в 09:01
1 ответ

Попробуйте добавить заголовок Host в прокси. По умолчанию nginx устанавливает для него имя хоста, указанное в директиве proxy_pass .

server {
    listen 0.0.0.0:80;
    location / {
        proxy_pass http://<vpc-elasticsearch-endpoint>/_plugin/kibana/;
        proxy_set_header Host $host;
    }
}
0
ответ дан 23 November 2019 в 23:17

Теги

Похожие вопросы