Apache NiFi - 请求包含无效主机 header

Apache NiFi - The request contained an invalid host header

我是 运行 一个 Apache NiFi 实例,在我的工作场所使用 Docker 并安装了代理。我拉下官方容器,启动容器并将其端口设置为 8081 而不是 8080,因为工作代理设置为 8080。

然而,当我尝试使用 http://localhost:8081/nifi 通过开发机器上的浏览器访问 NiFi 时,出现以下错误

System Error

The request contained an invalid host header [localhost:8081] in the request [/nifi]. Check for request manipulation or third-party intercept.

我在网上发现有几篇文章提到了 nifi.properties 文件,但我对 Docker 旋转图像以外的东西不是很有经验。

如果有人能提供一些指导或解决方案,那就太好了。非常感谢。

如果您不想直接修改 nifi.properties 文件,您可以在 Docker 命令期间使用 -e 标志将自定义变量传递给应用程序。在你的例子中,Docker 知道端口 8081 应该映射到 8080,但 NiFi 不是,detects a mismatch on the incoming request host header。要通过它,请尝试使用如下命令。

docker run --name nifi \
-p 8081:8081 \
-d \
-e NIFI_WEB_HTTP_PORT='8081'
apache/nifi:latest

在我的例子中,我只是将 nifi.web.http.host 属性 指定给主机 IP,它工作正常。

文件nifi.properties:

# web properties #
nifi.web.war.directory=./lib
nifi.web.http.host=192.168.0.69
nifi.web.http.port=8080

更多相关信息,我直接在主机中使用二进制包。我认为主机名与 IP 不匹配所以 nifi 报告 System Error.

对于 docker 用法,我稍后会找到更多。