Apache NiFi 2.x 报BadMessageException:400:Invalid SNI求助
解决Apache NiFi访问时的Invalid SNI错误
问题背景
配置nifi.web.https.host=127.0.0.1时因Jetty 10不支持IP地址,修改/etc/hosts将127.0.0.1映射为nifi.local,并更新nifi.web.https.host=nifi.local,但访问https://nifi.local:8443时出现HTTP ERROR 400 Invalid SNI错误。
解决方案
1. 重新生成包含nifi.local的SSL证书
NiFi默认生成的证书未包含自定义主机名nifi.local,导致Jetty验证SNI时失败。执行以下命令重新生成证书:
./bin/nifi.sh tls generate-certificate -c nifi.local
执行过程中设置的证书密码需记住,后续要同步到配置文件。
2. 同步证书配置到nifi.properties
打开conf/nifi.properties文件,确保以下配置项与新证书匹配:
# HTTPS主机配置 nifi.web.https.host=nifi.local nifi.web.https.port=8443 # 证书相关配置(根据生成证书时的设置调整) nifi.security.keystore.directory=./conf nifi.security.keystore.type=PKCS12 nifi.security.keystore.password=你的证书密码 nifi.security.key.password=你的证书密码 nifi.security.truststore.directory=./conf nifi.security.truststore.type=PKCS12 nifi.security.truststore.password=你的证书密码
3. 验证/etc/hosts映射有效性
执行命令确认nifi.local正确指向127.0.0.1:
ping nifi.local
若返回IP为127.0.0.1则映射生效,否则检查/etc/hosts是否添加了如下行:
127.0.0.1 nifi.local
4. 清除浏览器缓存或使用隐私窗口访问
浏览器可能缓存旧的SSL会话信息,导致SNI验证失败。尝试清除缓存,或用隐私/无痕窗口访问https://nifi.local:8443。
5. 重启NiFi服务
完成配置后重启NiFi使设置生效:
./bin/nifi.sh restart
内容的提问来源于stack exchange,提问作者Vasilis
相关产品推荐
相关产品推荐

