错误详情
System Error
The request contained an invalid host header [192.168.31.69:18443] in the request [/nifi]. Check for request manipulation or third-party intercept.
Valid host headers are [empty] or:
127.0.0.1
127.0.0.1:8443
localhost
localhost:8443
[::1]
[::1]:8443
4e8dbb07ed42
4e8dbb07ed42:8443
172.17.0.3
172.17.0.3:8443
根因
- nifi1.5增加了了一个
host name check
。
解决方案
修改源码
- github上有位大佬修改了nifi源码使其跳过
host name check
,请看:传送门如果是从源码自行编译构建的nifi服务,可以使用该方式修改源码后自行构建部署。
奇技淫巧绕过host name check
-
nifi启动后,会有一句日志:
2024-02-13 22:30:04,702 INFO [main] org.apache.nifi.web.server.JettyServer https://406506757b08:18443/nifi
-
这意味着我们只要访问是通过浏览器访问
https://406506757b08:18443/nifi
这个连接就能绕过host name check。这里我推荐使用switchhosts,修改访问nifi设备的hosts文件,增加一行hosts配置,如下:
192.168.31.69 406506757b08
-
如此,访问
https://406506757b08:18443/nifi
相当于访问了http://192.168.31.69:18443/nifi
,完美绕过host name check
。
写在最后
- nifi说有解决这个问题的办法:
1.1 https://issues.apache.org/jira/browse/NIFI-4618,
1.2 https://issues.apache.org/jira/browse/NIFI-4788
但是亲测无效,如果有大佬懂了怎么弄请一定要斧正小弟。 - switchhosts下载链接:https://download.csdn.net/download/gaofenglxx/15834471