如何使用nifi.web.proxy.host和nifi.web.proxy.context.path?

bot*_*bot 2 haproxy apache-nifi

我已经在集群中部署了带有 Kerberos 的 NiFi,并且为了访问 UI,我使用了 haproxy。我可以通过单个节点 URL 访问 NiFi UI,但它无法与 loadbalncer URL 配合使用并出现以下错误

系统错误

请求包含无效的主机标头

我认为它可以通过 nifi.web.proxy.host 和 nifi.web.proxy.context.path 参数来修复。我尝试使用这两个参数,但问题仍然存在。

bot*_*bot 7

NiFi 1.5 NIFI-4761中指出了这个问题。要解决此问题,请使用 nifi.properties 配置文件中的以下参数将用于访问 NiFi 的主机名列入白名单:

nifi.web.proxy.host = <host:port> 
Run Code Online (Sandbox Code Playgroud)

它是一个以逗号分隔的允许 HTTP 主机标头值列表,当 NiFi 安全运行并将接收到不同主机 [:端口] 的请求时要考虑。例如,当在 Docker 容器中或在代理后面运行时(例如 localhost:18443、proxyhost:443)。默认情况下,该值为空,这意味着 NiFi 应仅允许发送到 NiFi 绑定的主机[:port] 的请求。