在启用智能卡身份验证之前,您需要在 vCenter Server 系统上配置反向代理。

vSphere 6.5 及更高版本需要配置反向代理。

前提条件

将 CA 证书复制到 vCenter Server 系统。

注: vCenter Server 7.0 支持 HTTP/2 协议。所有现代浏览器和应用程序(包括 vSphere Client)都使用 HTTP/2 连接到 vCenter Server。但是,智能卡身份验证需要使用 HTTP/1.1 协议。启用智能卡身份验证将禁用 HTTP/2 的应用程序层协议协商(ALPN, https://tools.ietf.org/html/rfc7301),从而有效阻止浏览器使用 HTTP/2。仅使用 HTTP/2 而不依赖 ALPN 的应用程序将继续工作。

过程

  1. 以 root 用户身份登录设备 vCenter Server shell。
  2. 创建可信客户端 CA 存储。
    该存储将包含可信发证 CA 的客户端证书。此处的客户端是在智能卡过程中用于提示最终用户提供信息的浏览器。

    以下示例显示了如何在 vCenter Server 上创建证书存储。

    对于单一证书:
    cd /usr/lib/vmware-sso/
    openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA.cer > /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem

    对于多个证书:

    cd /usr/lib/vmware-sso/
    openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA.cer >> /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
  3. 备份包含反向代理定义的 /etc/vmware-rhttpproxy/config.xml 文件,然后在编辑器中打开 config.xml
  4. 按如下所示进行更改,然后保存文件。
    <http>
    <maxConnections> 2048 </maxConnections>
    <requestClientCertificate>true</requestClientCertificate>
    <clientCertificateMaxSize>4096</clientCertificateMaxSize>
    <clientCAListFile>/usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem</clientCAListFile>
    </http>
    config.xml 文件包含其中一些元素。根据需要取消注释、更新或添加元素。
  5. 重新启动服务。
    /usr/lib/vmware-vmon/vmon-cli --restart rhttpproxy