NGINX proxy_pass 基于自定义 header

NGINX proxy_pass based on custom header

我正在 Nginx 上设置反向代理,客户端请求有一个 header X-OUTBOUND-URI,然后它将在特定端口上命中我的反向代理。

我正在尝试对变量 $http_x_outbound_uri 执行 proxy_pass,但出现解析器错误。

server {
        listen  8082;
                proxy_set_header        Host            $host;
                proxy_set_header        X-Real-IP       $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

        location / {
                proxy_pass $http_x_outbound_uri;
        }
}

这是使用的 curl 命令:curl localhost:8082 -H "X-OUTBOUND-URI: http://localhost:9001",我在端口 9001 上有一个网络服务器 运行。

我做错了吗?另外,对于这个用例,做重定向是否更合适。谢谢。

对于遇到相同问题的人,我通过将本地主机更改为 127.0.0.1 设法解决了这个问题,否则,我们必须设置一个解析器。我在另一个 post.

中找到了解释