Java 启用身份验证后未打开NiFi web ui

Java 启用身份验证后未打开NiFi web ui,java,ssl,openssl,apache-nifi,Java,Ssl,Openssl,Apache Nifi,在windows中配置了NiFi 1.1.1版本 我已启用具有以下属性的客户端证书身份验证 nifi.properties nifi.web.war.directory=./lib nifi.web.http.host= nifi.web.http.port= nifi.web.https.host=hostname nifi.web.https.port=8080 nifi.web.jetty.working.directory=./work/jetty nifi.web.jetty.thre

在windows中配置了NiFi 1.1.1版本

我已启用具有以下属性的客户端证书身份验证

nifi.properties

nifi.web.war.directory=./lib
nifi.web.http.host=
nifi.web.http.port=
nifi.web.https.host=hostname
nifi.web.https.port=8080
nifi.web.jetty.working.directory=./work/jetty
nifi.web.jetty.threads=200

nifi.security.keystore=./conf/ssl/server.keystore
nifi.security.keystoreType=JKS
nifi.security.keystorePasswd=server_password
nifi.security.keyPasswd=server_keypassword
nifi.security.truststore=./conf/ssl/server.truststore
nifi.security.truststoreType=JKS
nifi.security.truststorePasswd=server_password
nifi.security.needClientAuth=true
nifi.security.user.authorizer=file-provider
nifi.security.user.login.identity.provider=
nifi.security.ocsp.responder.url=
nifi.security.ocsp.responder.certificate=
authorizers.xml

    <authorizer>
        <identifier>file-provider</identifier>
        <class>org.apache.nifi.authorization.FileAuthorizer</class>
        <property name="Authorizations File">./conf/authorizations.xml</property>
        <property name="Users File">./conf/users.xml</property>
        <property name="Initial Admin Identity"></property>
        <property name="Legacy Authorized Users File">./conf/authorized-users.xml</property>

        <!-- Provide the identity (typically a DN) of each node when clustered, see above description of Node Identity.
        <property name="Node Identity 1"></property>
        <property name="Node Identity 2"></property>
        -->
    </authorizer>
<users>
    <user dn="CN=Kumar">
        <role name="ROLE_ADMIN"/>
        <role name="ROLE_DFM"/>
    </user>
</users>

一切都很好。NiFi服务器启动并获取日志,因为UI在以下URL中可用:

但当我在firefox和chrome浏览器中打开UI时,Nifi web url无法打开,它会显示出来

安全连接在firefox中失败
,在chrome中无法访问该站点

它没有要求客户端证书

我做错了什么?我怎样才能做到这一点


我们将不胜感激。提前谢谢

我建议使用ApacheNIFI的tls工具包来促进证书生成。它可以在单个命令中生成NiFi的证书颁发机构(导入浏览器)、密钥库和信任库以及客户端p12文件

您可以从NiFi下载页面获得它,作为NiFi工具包的一部分

NiFi(从1.0版开始)和NiFi工具包都需要运行Java8

如果您运行(将_主机名替换为实际主机名):

您应该得到一个包含密钥库、信任库、nifi.properties以及客户端证书的p12和密码文件的\u主机名目录

您需要将nifi-cert.pem作为受信任的CA导入浏览器,以便它知道它可以信任服务器

然后使用.password文件中提供的密码将客户端p12导入浏览器


(编辑代码格式,添加到答案中)

好的,您对此有何疑问如何打开NiFi web ui?为什么它没有要求客户端证书?说真的,我不知道你是否创建了客户端证书并将其导入浏览器?这是0.x安装的升级吗?如果没有,您应该在
authorizers.xml
中填充初始管理员标识,删除旧版授权用户文件值,删除
conf/Users.xml
conf/authorizations.xml
并重新启动NiFi。当我运行此命令时,我将获得“线程中的异常”主命令“java.lang.UnsupportedClassVersionError:org/apache/nifi/toolkit/tls/TlsTo olkitMain:Unsupported major.minor version 52.0”将证书导入浏览器后,工作正常。非常感谢您的帮助。@Kumar我很高兴为您工作:)。我编辑了答案以使其更清楚。我还将添加java 8要求。
bin/tls-toolkit.sh standalone -n YOUR_HOSTNAME -C 'CN=Kumar'