工作负载平衡证书

Last published : Oct 07, 2026
XenServer® 和工作负载平衡通过 HTTPS 进行通信。在工作负载平衡配置过程中,向导 会自动创建一个自签名测试证书。此自签名测试证书允许工作负载平衡 与 XenServer 建立 TLS 连接。默认情况下,工作负载平衡会自动与 XenServer 建立此 TLS 连接。 您无需在配置工作负载平衡期间或之后执行任何证书配置,以便工作负载 平衡创建此 TLS 连接。
注意:
自签名证书是用于促进 HTTPS 通信的占位符,并非来自受信任的证书 颁发机构。为了增强安全性,我们建议使用由受信任的证书颁发机构签名的证书。
要使用来自其他证书颁发机构(例如商业颁发机构签名的证书)的证书,您必须 配置工作负载平衡和 XenServer 以使用它。
默认情况下,XenServer 在建立与工作负载平衡的连接之前会验证证书的身份。 要配置 XenServer 以检查特定证书,请导出用于签署证书的根证书。 将证书复制到 XenServer,并配置 XenServer 以在建立与工作负载平衡的连接时检查该证书。 在此场景中,XenServer 充当客户端,工作负载平衡充当服务器。
根据您的安全目标,您可以选择:
](/en-us/xenserver/9/media/wlb-certificates.png)
注意:
证书验证是一种旨在防止不必要连接的安全措施。工作负载平衡 证书必须满足严格要求,否则证书验证将不成功。当证书 验证失败时,XenServer 不允许连接。
要使证书验证成功,您必须将证书存储在 XenServer 预期找到证书的特定位置, XenServer 期望在这些位置找到证书。

自动导入证书

在 XenCenter® 2025.1 及更高版本以及工作负载平衡 8.4.0 及更高版本中,XenCenter 会在首次配置与工作负载平衡的连接时 自动导入工作负载平衡证书。
如果运行 XenCenter 的 Windows 系统无法访问 Workload Balancing 虚拟设备 – 例如,如果用于 Workload Balancing 和 XenServer 之间通信的端口被禁用,则无法进行自动证书导入,您必须 手动将 Workload Balancing 证书安装到您的池中。

配置 XenServer 以验证自签名证书

您可以配置 XenServer,使其验证 XenServer Workload Balancing 自签名证书的真实性 然后才允许 Workload Balancing 连接。
重要提示:
要验证 XenServer Workload Balancing 自签名证书,您必须使用其主机名连接到 Workload Balancing。 要查找 Workload Balancing 主机名,请在虚拟设备上运行 hostname 命令。
要配置 XenServer 以验证自签名证书,请完成以下步骤:
  1. 将自签名证书从 Workload Balancing 虚拟设备复制到池协调器。该 XenServer Workload Balancing 自签名证书存储在 /etc/ssl/certs/server.pem。运行以下 命令在池协调器上:
    scp root@<wlb-ip>:/etc/ssl/certs/server.pem wlb.pem
  2. 如果您收到一条消息,指出无法建立 wlb-ip 的真实性,请键入 yes 以继续。
  3. 在提示时输入 Workload Balancing 虚拟设备的 root 密码。证书将复制到当前 目录。
  4. 安装证书。在您复制证书的目录中运行以下命令:
    xe pool-certificate-install filename=wlb.pem
  5. 通过在池协调器上运行以下命令来验证证书是否已正确安装:
    xe pool-certificate-list
    如果您正确安装了证书,此命令的输出将包含导出的根证书。 运行此命令会列出所有已安装的 TLS 证书,包括您安装的证书。
  6. 要将证书从协调器同步到池中的所有主机,请在 池协调器上运行以下命令:
    xe pool-certificate-sync
    在协调器上运行 pool-certificate-sync 命令会将所有池主机上的证书和证书 吊销列表与协调器同步。此操作可确保池中的所有主机都使用 相同的证书。
    此命令没有输出。但是,如果此步骤未成功,则下一步将无法工作。
  7. 指示 XenServer 在连接到 Workload Balancing 虚拟设备之前验证证书。在 池协调器上运行以下命令:
    xe pool-param-set wlb-verify-cert=true uuid=uuid_of_pool
    提示:
    按 Tab 键会自动填充池的 UUID。
  8. (可选)要验证此过程是否成功,请执行以下步骤:
    1. 要测试证书是否已同步到池中的其他主机,请在这些主机上运行 pool-certificate-list 命令。
    2. 要测试 XenServer 是否设置为验证证书,请运行 pool-param-get 命令,并带上 param-name=wlb-verify-cert 参数。例如:
      xe pool-param-get param-name=wlb-verify-cert uuid=uuid_of_pool

配置 XenServer 以验证证书颁发机构证书

您可以配置 XenServer 以验证由受信任的证书颁发机构签名的证书。
对于受信任的颁发机构证书,XenServer 需要采用 .pem 格式的导出证书或证书链(中间 和根证书),其中包含公钥。
如果您希望 Workload Balancing 使用受信任的颁发机构证书,请执行以下任务:
在开始这些任务之前,请确保:
  • 您知道 XenServer 池协调器的 IP 地址。
  • XenServer 可以解析 Workload Balancing 主机名。(例如,您可以尝试从 XenServer 控制台为池协调器 ping Workload Balancing FQDN。)

从证书颁发机构获取签名证书

要从证书颁发机构获取证书,您必须生成证书签名请求 (CSR)。在 Workload Balancing 虚拟设备上,创建私钥并使用该私钥生成 CSR。

指定通用名称的准则

创建 CSR 时指定的通用名称 (CN) 必须与您的 Workload Balancing 虚拟 设备 的 FQDN 完全匹配。它还必须与您在“连接到 WLB 服务器”对话框的“地址”框中指定的 FQDN 或 IP 地址匹配。
为确保名称匹配,请使用以下准则之一指定通用名称:
  • 为证书的通用名称指定与您在“连接到 WLB 服务器” 对话框中指定的信息相同的内容。
    例如,如果您的 Workload Balancing 虚拟设备名为 wlb-vpx.yourdomain,请在 “连接到 WLB 服务器”对话框中指定 wlb-vpx.yourdomain,并在创建 CSR 时将 wlb-vpx.yourdomain 作为通用名称 提供。
  • 如果您通过 IP 地址将池连接到 Workload Balancing,请使用 FQDN 作为通用名称,并使用 IP 地址 作为主题备用名称 (SAN)。但是,此方法可能并非在所有情况下都适用。

创建私钥文件

在 Workload Balancing 虚拟设备上,完成以下步骤:
  1. 创建私钥文件:
    openssl genrsa -des3 -out privatekey.pem 2048
  2. 删除密码:
    openssl rsa -in privatekey.pem -out privatekey.nop.pem
注意:
如果您输入密码不正确或不一致,您可能会收到一些消息,指示存在用户界面错误。 您可以忽略该消息并重新运行命令以创建私钥文件。

生成证书签名请求

在 Workload Balancing 虚拟设备上,完成以下步骤:
  1. 使用私钥创建证书签名请求 (CSR):
    openssl req -new -key privatekey.nop.pem -out csr
  2. 按照提示提供生成 CSR 所需的信息:
    国家名称。输入您所在国家/地区的 TLS 证书国家/地区代码。例如,加拿大的 CA 或牙买加的 JM。 您可以在网上找到 TLS 证书国家/地区代码列表。
    州或省名称(全称)。输入池所在的州或省。例如, 马萨诸塞州或艾伯塔省。
    地区名称。池所在的城市名称。
    组织名称。您的公司或组织的名称。
    组织单位名称。输入部门名称。此字段是可选的。
    通用名称。输入 Workload Balancing 服务器的 FQDN。此值必须与池用于连接 Workload Balancing 的名称匹配。 有关详细信息,请参阅 指定通用名称的准则。
    电子邮件地址。生成证书时,此电子邮件地址将包含在证书中。
  3. 提供可选属性或按 Enter 键跳过提供此信息。
    CSR 请求将保存在当前目录中,并命名为 csr。
  4. 通过在 Workload Balancing 设备控制台中运行以下命令,在控制台窗口中显示 CSR:
    cat csr
  5. 复制整个 CSR,并使用它向证书颁发机构请求证书。

指定并应用新证书

使用此过程指定工作负载平衡使用来自证书颁发机构的证书。此过程 将安装根证书和(如果可用)中间证书。
要指定新证书,请完成以下步骤:
  1. 从证书颁发机构下载已签名的证书、根证书以及(如果证书颁发机构有)中间 证书。
  2. 如果您没有将证书直接下载到工作负载平衡虚拟设备,请通过 以下方法之一复制它们:
    • 从 Windows 计算机,使用 WinSCP 或其他复制实用程序。
      对于主机名,您可以输入 IP 地址并将端口保留为默认值。用户名和密码 通常是 root 和您在配置期间设置的任何密码。
    • 从 Linux 计算机到工作负载平衡设备,使用 SCP 或其他复制实用程序。例如:
      scp root_ca.pem root@wlb-ip:/path_on_your_WLB
  3. 在工作负载平衡虚拟设备上,将所有证书(根证书、 中间证书(如果存在)和已签名证书)的内容合并到一个文件中。您可以使用以下命令:
    cat signed_cert.pem intermediate_ca.pem root_ca.pem > server.pem
  4. 使用移动命令重命名现有证书和密钥:
    mv /etc/ssl/certs/server.pem /etc/ssl/certs/server.pem_orig
    mv /etc/ssl/certs/server.key /etc/ssl/certs/server.key_orig
  5. 复制合并的证书:
    mv server.pem /etc/ssl/certs/server.pem
  6. 复制之前创建的私钥:
    mv privatekey.nop.pem /etc/ssl/certs/server.key
  7. 使私钥仅可由 root 读取。使用 chmod 命令修复权限。
    chmod 600 /etc/ssl/certs/server.key
  8. 重新启动 stunnel:
    pkill -9 stunnel
    stunnel

将证书链导入池中

获取证书后,将其导入 XenServer 池协调器。同步池中的主机 以使用这些证书。然后,您可以配置 XenServer,使其在每次 Workload Balancing 连接到主机时检查证书身份和有效性。
  1. 将签名证书、根证书以及(如果证书颁发机构有)中间 证书从证书颁发机构复制到 XenServer 池协调器。
  2. 在池协调器上安装根证书:
    xe pool-install-ca-certificate filename=root_ca.pem
  3. 如果适用,在池协调器上安装中间证书:
    xe pool-install-ca-certificate filename=intermediate_ca.pem
  4. 通过在池协调器上运行此命令来验证两个证书是否已正确安装:
    xe pool-certificate-list
    运行此命令会列出所有已安装的 TLS 证书。如果证书安装成功,它们将显示 在此列表中。
  5. 将池协调器上的证书同步到池中的所有主机:
    xe pool-certificate-sync
    在协调器上运行 pool-certificate-sync 命令会将所有池主机上的证书和证书 吊销列表与池协调器同步。此操作可确保池中的所有主机使用 相同的证书。
  6. 指示 XenServer 在连接到 Workload Balancing 虚拟设备之前验证证书。在池协调器上运行 以下命令:
    xe pool-param-set wlb-verify-cert=true uuid=uuid_of_pool
    提示:
    按 Tab 键会自动填充池的 UUID。
  7. 如果您在启用证书验证之前在“Connect to WLB Server”对话框中指定了 IP 地址, 系统可能会提示您将池重新连接到 Workload Balancing。
    在“Connect to WLB Server”对话框的“Address”中指定 Workload Balancing 设备的 FQDN, 使其与证书的通用名称中显示的内容完全一致。输入 FQDN 以确保通用名称与 XenServer 用于连接的名称匹配。

故障排除

  • 您的池默认启用证书验证。如果您的池无法 连接到 Workload Balancing,请禁用证书验证:
    1. 获取池 UUID:
      xe pool-list
    2. 禁用证书验证:
      xe pool-param-set wlb-verify-cert=false uuid=uuid_of_pool
    如果您的池在禁用证书验证的情况下可以连接到 Workload Balancing,则问题出在您的 证书配置。如果无法连接,则问题出在您的 Workload Balancing 凭据或 您的网络连接。请联系支持人员或参阅 Workload Balancing 故障排除 以获取更多信息。
  • 一些商业证书颁发机构提供工具来验证证书是否正确安装。如果这些过程无法帮助隔离问题,请考虑 运行这些工具。如果这些工具需要指定 TLS 端口,请指定端口 8012 或您在 Workload Balancing 配置期间设置的任何端口。
  • 如果 WLB 选项卡显示连接错误,则证书通用名称与 Workload Balancing 虚拟设备的名称之间可能存在冲突。Workload Balancing 虚拟设备的名称和证书的通用名称 必须完全匹配。
有关更多信息,请参阅 (/zh-cn/xenserver/9/wlb/troubleshoot.html)。

重新生成自签名证书

如果 Workload Balancing 虚拟设备的 IP 地址发生更改且不再与 证书中的值一致,Workload Balancing 会在其控制台中显示警告消息。
要解决此警告,请完成以下步骤:
  1. 登录到您的 Workload Balancing 虚拟设备。
  2. 通过运行以下命令重新生成证书:wlb_update_cert.sh
  3. 重新连接到 Workload Balancing 虚拟设备。