我有一个为 AWS Kibana 端点提供服务的 Nginx 配置。
server {
listen 0.0.0.0:80;
location / {
proxy_pass http://<vpc-elasticsearch-endpoint>/_plugin/kibana/;
}
}
问题是:当我访问 Nginx URL 时,我被重定向到另一个带有 302 的端点(AWS cognito),我无法从浏览器访问该端点。
cognito URL 如下所示:http://vpc-*****.amazonaws.com
我需要通过 Nginx 本身来解析 Cognito URL。也许可以添加另一个位置块来解析 Cognito。这样最终用户在重定向到 Cognito 之前就能看到她用来访问 Nginx 的原始 nginx 端点。
如何在 Nginx 中实现这一点?
答案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;
}
}