【问题标题】:SSL context service in apache nifiapache nifi 中的 SSL 上下文服务
【发布时间】:2020-03-11 10:15:20
【问题描述】:

大家早上好 我制作了一个使用 GetHttp 和 PostHttp 的 apache Nifi 项目。问题是发生了错误: 我在谷歌上寻找它,但我不明白该怎么做?什么是 SSL 证书?如何添加它?

【问题讨论】:

    标签: ssl ssl-certificate apache-nifi


    【解决方案1】:

    您需要创建和配置一个 SSLContextService 供处理器使用,以便它可以与 DataSift 服务提供的证书建立信任。 curl 有效,因为它为您绑定到默认系统信任库。

    要在命令行上提供与 curl 类似的体验,您需要为您的 SSL 上下文服务实例配置信任库属性:

    1. 信任库文件名:

    Java 安装中的 cacerts 文件 如果在您的系统上设置了 $JAVA_HOME,它应该有助于为您指明正确的方向。如果没有,cacerts 的位置会因环境而异,但对于它们各自的操作系统而言,大致如下

    • OS X: /Library/Java/JavaVirtualMachines/jdk.jdk/Contents/Home/jre/lib/security/cacerts
    • Windows:C:\Program Files\Java\jdk\jre\lib\security\cacerts
    • Linux:/usr/lib/jvm/java-/jre/lib/security/cacerts -- 你
      还可以使用 $(readlink -f $(which java))

      1. 信任库类型:JKS
      2. Truststore 密码:如果您使用默认 Java 密钥库,则默认密码为“changeit”

    创建并启用此控制器服务后,需要更新关联的 GetHTTP 以引用它。

    【讨论】:

    • 我的 MacOS 案例我在 /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home/lib/security/cacerts 下找到了 cacert
    【解决方案2】:

    创建和配置您的 ssl 上下文服务,然后启用它。

    【讨论】:

    • 没错!但我不明白如何填补这些空白(KeyStore 文件名 ...)
    【解决方案3】:

    我使用 Consume_Kafka_2_0 来消费消息,然后我需要设置 SSL 上下文服务。

    您可以提供信任存储详细信息以使用受 SSL 保护的消息。

    Trust Store 文件名-> 对我来说它是系统相关的,它是“/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/lib/security”,如果没有安装open JDK,你需要安装首先。

    步骤:

    brew tap AdoptOpenJDK/openjdk  
    brew install adoptopenjdk11 --cask  
    sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
    

    密码:默认为“changeit” 类型:JKS

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-23
      • 1970-01-01
      • 2016-11-17
      • 1970-01-01
      • 2019-02-17
      • 1970-01-01
      • 2020-09-16
      • 1970-01-01
      相关资源
      最近更新 更多