openssl - 通过 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
我得到错误:
验证错误:证书链中的自签名证书
解决方案
我不知道证书可以绑定到一个 IP 地址。
然而,这听起来不是最好的主意。
这是一个相关问题How to Generate a Self Signed SSL Certificate Bound to IP Address,它避免了将证书绑定到 IP 地址。
我知道它并没有真正回答您的问题,但听起来您最好获得一个域名并将您的自签名证书绑定到该域名。或者,您可以获得一个真实的域。我使用Namecheap。它真的不是很贵。特别是如果您选择了一个不受欢迎的顶级域名。另外我建议使用Let's Encrypt和 Certbot 来生成真正的公共证书。它是免费的,您不必担心将您的假 CA 或中间证书添加到您想要信任您的站点的每台机器上。Certbot 几乎可以尽可能轻松地生成公共证书。
推荐阅读
- selection - 在 Vega-Lite 中使用图例过滤连接图表
- javascript - 如何将 Firebase 数据添加到 Array JavaScript
- java - 在服务器上关闭 AtomicBoolean 太晚了(Java)
- reactjs - ; 预计出口违约
- r - 使用 R 中的函数查找 chi 统计信息
- javascript - 对多个 html 标签 id 使用相同的方法,使其与发生 @click 的 id 做出反应
- amazon-web-services - Elastic Beanstalk:`.ebextensions` 未执行
- c++ - `std::find()` 用字符串产生奇怪的结果
- python - 给定一个平衡的整数二叉树和一个整数 B,计算对 (a, b) 的数量,其中: a 是 b 的祖先。和 val <=B 的总和?
- javascript - 我不能使用 node.js 中另一个模块的导出函数