如何使用teiid中配置的SSL将NIFI连接到Teiid数据虚拟化?

问题描述 投票:0回答:1

我们有一台Teiid 12.3服务器正在运行,它是用ssl配置的,我们能够使用pentaho etl、squirrel sql client、Tableau等工具连接这台Teiid服务器,我们使用trustore文件来连接这些工具,但我们无法在Apache NIfi中连接Teiid服务器。我们尝试了以下方法来包含trustore--。

  1. 在运行的nifi.bat中添加trustore。

    • 设置JAVA_ARGS=-Dorg.apache.nifi.bootstrap.config.log.dir=%NIFI_LOG_DIR% -Dorg.apache.nifi.bootstrap.config.pid.dir=%NIFI_PID_DIR% -Dorg.apache.nifi.bootstrap.config.file=%BOOTSTRAP_CONF_FILE% -Djavax.net.ssl.trustStore=teiid-dummy.truststore -Djavax.net.ssl.trustStorePassword=1234
  2. 创建一个 StandardSSLContextService 但我们不能在这里使用这项服务 ExecuteSQLQueryDatabaseTableRecord 加工者

  3. 在teiid连接网址中添加了trustore的详细信息--。jdbc:teiid:VDB@mms://abc123.com:443;enableTLS=true;trustStorePath=E:/nifi-1.11.4-bin/nifi-1.11.4/bin/teiid_dummy.truststore;trustStorePassword=1234

    • 错误:TEIID 200020 错误建立与主机和端口的套接字。Sun.security.validator.validatorException:PKIX路径建立失败。
  4. 在下面的文件中也配置了trustore,但没有用,出现同样的错误。

文件名:Nifi.properties

nifi.security.truststore==E:\nifi-1.11.4-bin\nifi-1.11.4\bin\teiid-dummy.truststore
nifi.security.truststoreType=jks
nifi.security.truststorePasswd=1234

文件名: run_nifi.bat

set JAVA_ARGS=-Dorg.apache.nifi.bootstrap.config.log.dir=%NIFI_LOG_DIR% -Dorg.apache.nifi.bootstrap.config.pid.dir=%NIFI_PID_DIR% -Dorg.apache.nifi.bootstrap.config.file=%BOOTSTRAP_CONF_FILE% -Djavax.net.ssl.trustStore=teiid3-ssl.truststore -Djavax.net.ssl.trustStorePassword=1234

错误

ssl apache-nifi keystore teiid pkix
1个回答
0
投票

你是否验证了Teiid服务器在TLS协商过程中呈现了完整的证书链,并且完整的证书链存在于你配置的truststore中?PKIX路径构建错误表明客户端(NiFi)无法将服务器(Teiid)呈现的公证书映射到其truststore中的可信证书。请提供你的Teiid服务器的公证书(必要时主机名被删节)和你与NiFi关联的truststore的内容。

回复意见。

属性值 nifi.security.truststore$NIFI_HOME/conf/nifi.properties 是设置NiFi应用信任store的路径。问题中没有指定从NiFi到Teiid的通信机制。如果它是流程中的一个组件(例如处理器或控制器服务),这些组件应该引用一个 SSLContextService 控制器服务,并在那里指定一个 truststore 路径。如果组件不支持SSL CS,那么DBCP JDBC连接的URL应该是 包括设置 启用TLS或功能请求Jira应提交。


0
投票

非常感谢daggett.Thanks a lot...你的解决方案工作(bootstrap.conf)。

1)将Trustore "ssl-teiid.truststore "放置在NiFi bin目录下2)进入Nifi conf目录,打开文件bootstrap.conf3)在其中添加两个参数,提到Trustore路径和密码,参考-java.arg.18=-Djavax.net.ssl.trustStore=E:nifi-1.11.4-binnifi-1.11.4binssl-teiid.truststore。参考这个-java.arg.18=-Djavax.net.ssl.trustStore=E:nifi-1.11.4-binifi-1.11.4binssl-teiid.truststore。

java.arg.19.=-Djavax.net.ssl.trustStorePassword=mention the Trustore password。

4)启动NiFi5)为DataVirtualization url创建DBConnectionPool服务.6)创建ExecuteSQL处理器,使用上面创建的DBConnectionPool服务,并通过它查询DataVirtualization中的任何一个视图。

非常感谢你安迪的帮助。

© www.soinside.com 2019 - 2024. All rights reserved.