У меня есть конфигурация 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?
Попробуйте добавить заголовок 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;
}
}