You need to enable JavaScript to run this app. NIFI通过InvokeHTTP调用API报PKIX path building错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

NIFI通过InvokeHTTP调用API报PKIX path building错误如何解决

报错原因

该报错为Nifi运行使用的Java环境信任库中未存入目标API服务的SSL证书,导致SSL握手校验失败,按以下步骤操作即可解决:

分步操作命令

步骤1:确认Nifi使用的JDK路径

  • 登录部署Nifi的Linux服务器,切换为Nifi进程启动用户,执行命令查看对应JDK路径:
    ps -ef | grep nifi | grep -v grep | awk '{print $8}' | xargs ls -l
  • 记录返回的JDK根目录,下文用${JAVA_HOME}代指该路径,常见路径示例:/usr/lib/jvm/java-1.8.0-openjdk

步骤2:下载目标API服务的SSL证书

将命令中<目标API域名>、<目标API端口>替换为实际参数(HTTPS默认端口为443),执行:
openssl s_client -connect <目标API域名>:<目标API端口> < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > target_api.crt
执行完成后,当前目录会生成target_api.crt证书文件。

步骤3:将证书导入JDK默认信任库

JDK默认信任库密码为changeit,如果自定义过密码请替换为实际密码,执行:
sudo ${JAVA_HOME}/jre/bin/keytool -import -alias target-api-cert -keystore ${JAVA_HOME}/jre/lib/security/cacerts -file target_api.crt

  • 提示输入信任库密码时输入changeit回车
  • 后续提示是否信任证书,输入yes回车确认

步骤4:验证证书导入结果

执行命令校验证书是否成功存入信任库:
${JAVA_HOME}/jre/bin/keytool -list -keystore ${JAVA_HOME}/jre/lib/security/cacerts -storepass changeit | grep target-api-cert
返回对应证书条目即为导入成功。

步骤5:重启Nifi服务生效

导入完成后必须重启Nifi才能加载新的信任库配置:
cd <你的Nifi安装目录>/bin
./nifi.sh restart
等待Nifi启动完成后,重新测试InvokeHTTP处理器即可正常调用目标API。

特殊情况说明

如果Nifi单独配置了自定义信任库而非使用JDK默认信任库,可在nifi.properties配置文件中查找nifi.security.truststore参数获取自定义信任库路径,将步骤3中-keystore后的路径替换为该自定义路径即可。

内容的提问来源于stack exchange,提问作者Aravind

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 10:24:03