![服务的 SSL 证书 - 不适用于 FQDN](https://linux22.com/image/732916/%E6%9C%8D%E5%8A%A1%E7%9A%84%20SSL%20%E8%AF%81%E4%B9%A6%20-%20%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%20FQDN.png)
我的组织在客户的内部网络中部署了一台数据服务器和一台客户端设备(两台设备),以便他们使用我们的解决方案;客户端设备仅连接到数据服务器;但是任何一个客户站点都不一定提供静态 IP 或主机名,也不保证设备 IP 的持久性。我们唯一可以确定的是我们可以控制的是我们的服务器和客户端设备;客户的要求决定了网络设置。
客户端设备需要通过 HTTPS 安全地连接到数据服务器,我们希望提供在数据服务器上使用我们自己的 CA 安装我们自己的证书的选项。(客户也可以安装自己的证书,但这超出了这个问题的范围)
由于数据服务器的 IP 不能保证持久性,我想知道,是否可以向服务,而不是针对地址/名称签发证书?
我搜索过“服务的 SSL 证书”和“可变 IP 的 SSL 证书”等,但没有找到相关内容。我是否遗漏了一些有助于缩小搜索范围的术语,还是根本就没有这个东西?
谢谢
答案1
发送自签名证书并为客户提供上传自己的证书的可能性。
每个人都这样做,因为这是唯一真正有效的选择。设置服务的管理员希望这样做,并可以选择为其用户安装有效证书。
再次阅读问题并思考之后,我认为实际上有一个选项:
对于用户界面:
- 附带自签名证书
- 为管理员提供上传证书的选项
对于设备间通信:
- 创建自己的 CA(在您自己的内部网络中,此 CA 不会离开您的公司)
- 配置您发送给客户的客户端设备以信任此 CA
- 在服务器设备上创建 CA 的子 CA
- 在客户现场安装服务器后,让服务器设备通过子证书机构为自己创建证书
- 此时您有了 IP 地址,并且可以将 IP 地址解析为有效的内部 DNS 名称
- (可选:在客户站点安装客户端后,让客户端设备从服务器上的子 CA 请求证书。
这不是必需的,但如果您只希望自己的客户端能够与服务器通信,它可以用于让服务器对客户端进行身份验证)
这样,您的客户就会信任您自己的服务器,您甚至可以将其扩展到仅在您的设备之间建立双向信任。
答案2
您需要为 DNS 名称颁发证书,而不是为 IP 地址颁发证书。如果您的内部服务器监听服务.example.com那么证书需要与这个“通用名称”匹配。如果服务器每次启动时都会获得一个新的 IP 地址,您只需确保 DHCP 服务器使用新信息更新 DNS 服务器,以便 service.example.com 的 A 记录始终指向正确的 IP 地址。为此,您需要与要部署应用程序的每个客户合作,因为每个公司在实施方面可能有所不同。
当然,最好“要求”一个固定的 IP 地址或 DHCP 保留,这样 DHCP 服务器将始终根据服务器的 MAC 地址为您的服务器提供相同的 IP 地址。
如果您想在客户的网络中设置自己的 CA 服务器,您同样需要与客户密切合作,因为他们需要将您的根证书放在公司的每一台客户端计算机上,这样您的 CA 证书才会受到信任。否则,浏览器将发出一条大警告消息,提示您 (根) CA 不受信任。
答案3
查找术语“动态 DNS”。我总是将它用于无法保证静态 IP 的网站。
如果您希望为自己的域名提供此项服务,Namecheap 和其他几家 DNS 注册商均可免费提供此项服务,但也有单独的实体通过将子域名分配给他们自己的域名来提供此项服务,并收取少量费用。