如何为 IP 地址签署 SSL 证书?

All*_*ick 5 openssl backend ssl-certificate

我有一台服务器,在我家里的一台机器上仅托管我网站的节点后端(我正在使用express),我想从另一个后端调用该服务器(我们正在尝试构建一个可以帮助我们的API系统)与我们的主要后端)。

我需要一个 SSL 证书,并且需要使用 CA 来验证它,但我现在陷入困境。如何验证 SSL?我尝试使用 ZeroSSL,但它不起作用,因为我没有 DNS,所以尝试为 IP 地址签署证书。

示例:我想不这样调用我的端点

http://X.X.X.X:port#/endpoint
Run Code Online (Sandbox Code Playgroud)

但像这样:

https://X.X.X.X:port#/endpoint
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

Dis*_*e71 6

ZeroSSL 实际上会为 IPV4 地址颁发免费证书(IPV6 目前似乎不起作用,我不知道 IPV6 IP 有任何其他免费选项)

请参阅https://help.zerossl.com/hc/en-us/articles/360060119973-Is-It-Possible-To-Generate-a-SSL-Certificate-for-an-IP-Address-

你没有说你遇到了什么麻烦,但这不是一个复杂的过程

如文档中所述,您必须使用 HTTP 验证(将文件上传到您的服务器)

一般流程:

  1. 按“新证书”
  2. 对于“域名”,只需输入您的 IP
  3. 选择 90 天证书
  4. 自动生成CSR
  5. 选择免费计划
  6. 选择“HTTP文件上传”验证
  7. 下载文件
  8. 将其上传到您的网络服务器目录 /.well-known/pki-validation/ (根据需要创建目录)
  9. 完成验证
  10. 下载您的证书

ZeroSSL 的替代方案——我不知道有任何其他方案会为 IP 地址颁发免费证书,但有一些不需要购买域名的解决方法。您可以轻松利用https://sslip.io/https://nip.io/或类似服务的子域。无需设置 - 例如,如果您的 IP 为 1.1.1.1,则 DNS 名称 1-1-1-1.sslip.io 和 1-1-1-1.nip.io 将自动解析为它。因此,您可以使用 LetsEncrypt 轻松获取这些子域之一的 SSL 证书。这些也应该适用于 IPV6 IP,但特定于 IPV6 还有https://has-a.name/,其工作原理类似

更新:根据当前的 ZeroSSL 政策,每个帐户只能(免费)执行 3 次。之后,您必须付款或创建一个新帐户。