使用 Nginx 重写代理重定向

使用 Nginx 代理 Hadoop 服务的 Web 用户界面:

用户 --> (https) Nginx --> Hadoop {数据节点 YARN web UI, webhdfs ...}

当我 curl 到 https://HOST/webhdfs/..... the webhdfs 服务器重定向到数据节点:

HTTP/1.1 307 TEMPORARY_REDIRECT
Location: http://DATA-NODE-1:50075/webhdfs ...

其中 DATA-NODE-1 是 Hadoop 集群内部的 DNS/IP 地址,因此用户无法访问它。

我想将后端代理发送的 Location 头重写为:

https://50075.DATA-NODE-1.HOST/webhdfs... (PORT.SERVICE.HOST)

这样 Nginx 可以处理它,并执行代理操作。

使用 Nginx 模块是否可能或者我需要一个 LUA/Perl 脚本?

点赞