首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用teiid中配置的SSL将NIFI连接到Teiid数据虚拟化?

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

Stack Overflow用户
提问于 2020-04-28 14:27:11
回答 2查看 203关注 0票数 0

我们有一个使用ssl配置的Teiid12.3服务器正在运行。我们能够使用像pentaho etl、squirrel client、Tableau等工具连接这个teiid服务器,我们正在使用trustore文件连接这些工具。但是我们无法连接Apache NIfi中的Teiid服务器。我们尝试了以下方法来包括信任-

  1. 在运行的nifi.bat中添加trustore
代码语言:javascript
复制
- 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=teiid-dummy.truststore` `-Djavax.net.ssl.trustStorePassword=1234`

  1. 创建StandardSSLContextService,但我们不能在ExecuteSQLQueryDatabaseTableRecord处理器中使用此服务
  2. 在teiid连接url -- 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中添加了trustore详细信息
代码语言:javascript
复制
- Errors: TEIID 200020 Error establishing socket to host and port.  Sun.security.validator.validatorException : PKIX path building failed:

  1. 也在下面的文件中配置了trustore,但是没有使用相同的错误。

文件名: Nifi.properties

代码语言:javascript
复制
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

代码语言:javascript
复制
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

错误

EN

回答 2

Stack Overflow用户

发布于 2020-04-28 15:59:50

您是否验证了Teiid服务器在TLS协商期间显示了完整的证书链,并且在您配置的信任库中是否存在完整的证书链?PKIX路径构建错误表示客户端(NiFi)无法将服务器(Teiid)提供的公共证书映射到其信任存储中的受信任证书。请提供您的Teiid服务器的公共证书(必要时修改主机名)和与NiFi关联的信任库的内容。

对评论的答复:

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

票数 0
EN

Stack Overflow用户

发布于 2020-05-07 04:22:42

非常感谢daggett.Thanks,很多...your解决方案成功了(bootstrap.conf)

按照下面的步骤,它工作得很好。1)将Trustore“SSL-teiid.Truststore”放置在NiFi bin目录中,2)转到bootstrap.conf目录并打开文件bootstrap.conf 3),在其中添加两个参数,提到Trustore路径和密码。请参阅此- java.arg.18=-Djavax.net.ssl.trustStore=E:/nifi-1.11.4-bin/nifi-1.11.4/bin/ssl-teiid.truststore

java.arg.19.=-Djavax.net.ssl.trustStorePassword=mention信托商店密码

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

非常感谢安迪的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61482625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档