Apache NiFi - 请求包含无效的主机头

时间:2018-02-13 16:49:09

标签: apache-nifi

我正在我的工作场所使用Docker运行Apache NiFi实例并使用代理。我把官方容器拉下来,旋转容器并将其设置为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之外并没有很好的经验。

如果有人可以提供一些非常好的指导或解决方案。非常感谢。

2 个答案:

答案 0 :(得分:3)

如果您不想直接修改nifi.properties文件,可以使用-e标志在Docker命令期间将自定义变量传递给应用程序。在你的情况下,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

答案 1 :(得分:1)

在我的情况下,我只是将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

对于泊坞工的使用,我稍后会找到更多。