VpnHood!

SSL/TLS 证书

您的服务器在每次连接建立时都会出示证书,且服务器集群的访问密钥也会指定其中一个证书。MANAGER 会为每个新集群自动创建一个证书,并能从 Let's Encrypt 获取受信任的证书并自动续期。

证书位置

打开 Server Farms 并选择相应集群:其 SSL / TLS Certificates 中列出了所有证书,带有标记的即为该集群密钥所包含的证书。点击列表标题可打开完整列表,查看每个证书的 Mode 和 Priority。

VpnHood! MANAGER 中某服务器集群的 SSL/TLS 证书列表,其中一个证书带有标记
新集群的证书:自签名证书,使用生成的随机名称,并已写入密钥。

每个新集群都会默认生成一个带随机名称的自签名证书,在其密钥中生效,直到您另选其他证书。

服务器详情页也有相同的列表,仅显示该独立服务器专用的证书。

证书设置

选择证书域名即可打开设置。

VpnHood! MANAGER 中的证书详情,展示可见性、签名方式、使用者、优先级和签名状态
MANAGER 为新集群自动创建的证书。
  • Visibility 决定谁能获取该证书的域名。PublicInToken 会将其写入集群的每个密钥中;同时只能有一个证书具备此状态,将其分配给其他证书时,当前证书将变更为 Public。若单台独立服务器使用的 Public 证书为 CA Signed,则仅在 MANAGER 将客户端分配给该服务器时,客户端才会获取它。设置为 Private 的证书则绝不会下发给客户端。无论如何设置,只要客户端请求该域名,服务器都会出示该证书。
  • Signing 决定签名方式。Manual 保持当前状态不变。AutoSign 由 Let's Encrypt 签名并由 MANAGER 自动续期,详见下文。DomainOnly 适用于证书托管在其他地方的域名:MANAGER 不会将其部署到服务器上,密钥也无法携带它。
  • Used By 可设为 Server Farm(适用于集群中的所有服务器)或指定集群中的某台服务器。请将密钥中使用的证书保持为 Server Farm,以便所有服务器都能向持有该密钥的客户端出示证书。
  • 当 MANAGER 向客户端提供多个证书时,Priority(包括 Normal、Low 或 Lowest)用于对 Public 证书的域名进行排序。这不会改变服务器出示哪个证书。
  • Signature 在由证书颁发机构签名时显示为 CA Signed,否则显示为 Self-Signed。客户端像浏览器一样通过颁发机构和域名验证 CA Signed 证书,因此证书续期后密钥依然有效。对于 Self-Signed 证书,客户端仅通过密钥中记录的指纹进行验证。
  • Description 供您记录备注信息,MANAGER 本身不会使用它。

添加证书

在 SSL / TLS Certificates 下选择 Add,输入 Domain Name 并选择 Create。MANAGER 会为该域名创建自签名证书,设为 Public 和 Manual,并将其打开。其他字段仅用于填写证书详情。

从单个服务器页面添加的证书仅供该服务器使用。

如需证书颁发机构签名,请将 Signing 设为 AutoSign。使用域名与受信任证书介绍了详细步骤,以及如何将域名加入访问密钥中。

AutoSign 自动签名

启用 AutoSign 后,MANAGER 会请求 Let's Encrypt 为该域名签名证书。Let's Encrypt 会通过 TCP 端口 80 经纯 HTTP 验证域名,因此域名必须指向服务器集群中的一台服务器,且该端口必须开放。MANAGER 会先以同样方式自检。在此期间,Signing 会显示 Validating...。

证书到期前约 30 天,MANAGER 会自动续期。Let's Encrypt 证书有效期为 90 天。

如果验证失败,Signing 会以红字显示原因。MANAGER 约每天重试一次,连续失败 6 次后会将 Signing 重置为 Manual。如需立即重试,请先选择 Manual 再切换为 AutoSign。

上传证书

Upload 支持导入您从别处获取的证书:包含私钥且私钥可导出的 PFX 文件,以及该文件的 Certificate Password。上传时可选择 Visibility,默认设为 Private。若 MANAGER 能验证签名来源,Signature 将显示 CA Signed。

上传的证书默认供整个集群使用,即使从单个服务器页面上传也是如此。如需仅限单台服务器使用,可在上传后修改其 Used By。

密钥中的证书

集群密钥包含其 PublicInToken 证书的域名和指纹。若是 CA Signed 证书,应用会解析该域名并接受任何由权威机构签名的证书;若是 Self-Signed 证书,应用仅接受该特定证书,且必须有服务器地址才能连接:此时 MANAGER 要求集群中至少有一台服务器配置了 PublicInToken 地址。

将 PublicInToken 分配给新证书后,原证书仍会以 Public 状态保留在服务器上,确保旧密钥可继续连接。由于 Push token to clients 默认开启,应用连接时会自动获取新密钥,但前提是集群中至少有一台服务器配置了 PublicInToken 地址。

为集群已有的域名添加或上传新证书会替换并删除旧证书。新证书会继承旧证书较高的 Visibility 设置,确保续期证书留在密钥中。若新证书为 CA Signed,旧密钥仍可正常使用;若为自签名证书,则需向用户分发新密钥。

删除证书

在证书对话框中选择 Delete。MANAGER 不允许删除已写入密钥的证书,或集群全范围使用的最后一张证书:请先将 PublicInToken 分配给其他证书,或先添加一张新证书。

后续步骤