无法从远程主机访问Dockerized NiFi用户界面

时间:2018-10-29 16:07:12

标签: docker apache-nifi

我正在尝试搭建一个临时的NiFi服务器,以支持客户的概念验证演示。对于这些类型的短期服务器,我希望尽可能使用Docker。我能够启动并运行NiFi容器,而不会出现任何问题,但是我不知道如何从远程主机上的浏览器访问其UI。我尝试了以下docker run变体:

docker run --name nifi \ -p 8080:8080 \ -d \ apache/nifi:latest


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


docker run --name nifi \ -p 8080:8080 \ -e NIFI_WEB_HTTP_HOST=${hostname-here} \ -e NIFI_WEB_HTTP_PORT='8080' \ -d \ apache/nifi:latest

我的NiFi版本是1.8.0。我相当确定我的问题与1.5.0版中添加的主机头阻止程序功能有关。我见过一些与我的问题类似但没有解决方案的问题。 1.5.0版以后是否可以从远程主机访问NiFi UI? 可以为非产品演示禁用主机头阻止程序吗? 我服务器上的非Docker安装是否会出现相同的主机头阻止程序问题? 我应该在演示中使用1.4并省去头痛吗?

2 个答案:

答案 0 :(得分:1)

虽然Docker中的主机标头周围存在一个1.5.0左右的错误,该问题已解决,此外,现在仅针对安全环境强制执行了主机标头检查(您将在容器日志中看到关于此的注释启动)。

在每个示例中,您在问题中提供的命令都可用于访问关联映射端口上的NiFi,我已经在1.6.0、1.7.0和1.8.0中对此进行了验证。您可能需要评估有问题的远程计算机的网络安全设置(例如,云提供的实例。通常需要显式的安全组公开端口)。

答案 1 :(得分:0)

我遇到了同样的问题,我无法远程访问Web ui。原来是防火墙问题。禁用firewalld并添加自定义防火墙规则以允许带有端口的docker网络可以解决此问题。

共享docker-compose.yml here