首页 > 解决方案 > 通过 HTTPS 为 NiFi 生成自签名证书

问题描述

我一直在关注这两个资源来生成我的证书:
https ://nifi.apache.org/docs/nifi-docs/html/toolkit-guide.html#tls_operation_modes https://community.cloudera.com/t5/Community -Articles/Setting-Up-a-Secure-NiFi-to-Integrate-with-a-Secure-NiFi/ta-p/247765

两者看起来都很直接。请注意,我在远程服务器(无域)上运行 NiFi 1.10.0,使用 java8 的 Debian 9(新实例)。我没有与服务器关联的域名,只是一个公共 IP 地址。

在服务器上,我尝试使用以下命令生成证书:

bin/tls-toolkit.sh standalone -n 'localhost' -C 'CN=sys_admin,OU=NIFI'
bin/tls-toolkit.sh standalone -n '0.0.0.0' -C 'CN=sys_admin,OU=NIFI'
bin/tls-toolkit.sh standalone -n 'my.server.ip.address' -C 'CN=sys_admin,OU=NIFI'
bin/tls-toolkit.sh standalone -n 'my.server.ip.address:9443' -C 'CN=sys_admin,OU=NIFI'

我相应地更新了我的授权人文件。但是我总是NET::ERR_CERT_REVOKED出错。

跑步:

sudo openssl s_client -connect 0.0.0.0:9443 -showcerts -state -debug

我得到错误:

验证错误:证书链中的自签名证书

标签: opensslssl-certificateapache-nifi

解决方案


我不知道证书可以绑定到一个 IP 地址。

然而,这听起来不是最好的主意。

这是一个相关问题How to Generate a Self Signed SSL Certificate Bound to IP Address,它避免了将证书绑定到 IP 地址。

我知道它并没有真正回答您的问题,但听起来您最好获得一个域名并将您的自签名证书绑定到该域名。或者,您可以获得一个真实的域。我使用Namecheap。它真的不是很贵。特别是如果您选择了一个不受欢迎的顶级域名。另外我建议使用Let's Encrypt和 Certbot 来生成真正的公共证书。它是免费的,您不必担心将您的假 CA 或中间证书添加到您想要信任您的站点的每台机器上。Certbot 几乎可以尽可能轻松地生成公共证书。


推荐阅读