Apache NiFi 2+部署遇HTTP ERROR 400 Invalid SNI错误求助
解决Apache NiFi 2+自定义IP/FQDN访问时的400 Invalid SNI错误
错误信息
HTTP ERROR 400 Invalid SNI URI: https://{your-custom-ip}:8443/nifi STATUS: 400 MESSAGE: Invalid SNI
问题原因
Apache NiFi 2+默认生成的truststore.p12和keystore.p12中,SNI(服务器名称指示)被严格限定为localhost。当你将nifi.web.https.host配置为私有IP(VPN)或自定义FQDN时,客户端请求的SNI与证书中的不匹配,从而触发400错误。
解决方案
需要重新生成包含目标IP/FQDN的密钥库和信任库,步骤如下:
生成新的keystore.p12
替换{your-private-ip}为你的私有IP或自定义FQDN,执行以下命令:keytool -genkeypair -alias nifi -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore keystore.p12 -validity 3650 -ext SAN=IP:{your-private-ip}执行过程中需设置密钥库密码(建议与NiFi默认密码
changeit保持一致),以及姓名、组织等信息(可按需填写)。导出证书到临时文件
keytool -exportcert -alias nifi -storetype PKCS12 -keystore keystore.p12 -file nifi-cert.pem导入证书到新的truststore.p12
keytool -importcert -alias nifi -storetype PKCS12 -keystore truststore.p12 -file nifi-cert.pem导入时需确认信任该证书,输入
yes即可。更新NiFi配置文件
修改conf/nifi.properties中的以下属性,确保路径和密码与你设置的一致:nifi.security.keystore=./conf/keystore.p12 nifi.security.keystoreType=PKCS12 nifi.security.keystorePasswd=你的密钥库密码 nifi.security.truststore=./conf/truststore.p12 nifi.security.truststoreType=PKCS12 nifi.security.truststorePasswd=你的信任库密码 nifi.web.https.host={your-private-ip}重启NiFi服务
重启后即可通过https://{your-private-ip}:8443/nifi访问NiFi实例。
内容的提问来源于stack exchange,提问作者Sterling Duchess
相关产品推荐
相关产品推荐

