为了增强安全性,您可以为 Horizon Cloud Connector 虚拟设备配置自定义的 CA 签名证书。
前提条件
- 确认有 PEM 格式的完整证书链可用。
- 确保使用私钥而不是密码短语生成 PEM 文件。
- 确认所颁发的证书中包含 FQDN 和主体备用名称。
过程
- 打开与已部署的 Horizon Cloud Connector 虚拟设备进行的 SSH 会话。
- 复制目录 /root/server.crt 中的 CA 签名证书。
- 复制目录 /root/server.key 中的 CA 签名密钥。
- 备份现有证书。
- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
cp /opt/container-data/certs/hze-nginx/server.crt /opt/container-data/certs/hze-nginx/server.crt.orig
- (Horizon Cloud Connector 版本 1.3 或更低版本)请使用以下命令:
cp /etc/nginx/ssl/server.crt /etc/nginx/ssl/server.crt.orig
- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
- 备份现有密钥。
- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
cp /opt/container-data/certs/hze-nginx/server.key /opt/container-data/certs/hze-nginx/server.key.orig
- (Horizon Cloud Connector 版本 1.3 或更低版本)请使用以下命令:
cp /etc/nginx/ssl/server.key /etc/nginx/ssl/server.key.orig
- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
- 复制现有
nginx conf
文件。- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
cp /opt/container-data/conf/hze-nginx/nginx.conf /opt/container-data/conf/hze-nginx/nginx.conf.orig
- (Horizon Cloud Connector 版本 1.3 或更低版本)请使用以下命令:
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
- 复制您的虚拟设备版本相应目录中的 CA 证书。
- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
cp /root/server.crt /opt/container-data/certs/hze-nginx/server.crt
- (Horizon Cloud Connector 版本 1.3 或更低版本)请使用以下命令:
cp /root/server.crt /etc/nginx/ssl/server.crt
- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
- 复制您的虚拟设备版本相应目录中的 CA 证书密钥文件。
- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
cp /root/server.key /opt/container-data/certs/hze-nginx/server.key
- (Horizon Cloud Connector 版本 1.3 或更低版本)请使用以下命令:
cp /root/server.key /etc/nginx/ssl/server.key
- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
- 确认证书和密钥文件的所有者和权限。
- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
chown -R hze-nginx:hze-nginx /opt/container-data/certs/hze-nginx chmod 644 /opt/container-data/certs/hze-nginx/server.crt chmod 600 /opt/container-data/certs/hze-nginx/server.key
- (Horizon Cloud Connector 版本 1.3 或更低版本)请使用以下命令:
chown -R root:root /etc/nginx/ssl chmod -R 600 /etc/nginx/ssl
- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
- 确认证书中颁发的 FQDN 与位于
nginx
配置文件内的服务器侦听 443 块中的服务器名称指令相匹配。- (Horizon Cloud Connector 版本 1.4 或更高版本)
nginx
配置文件位于 /opt/container-data/conf/hze-nginx/nginx.conf。 - (Horizon Cloud Connector 版本 1.3 或更低版本)
nginx
配置文件位于 /etc/nginx/nginx.conf。
- (Horizon Cloud Connector 版本 1.4 或更高版本)
- 验证并重新启动
nginx
。- (Horizon Cloud Connector 版本 2.0 或更高版本)请使用以下命令:
kubectl rollout restart daemonset hze-nginx -n hze-system
- (Horizon Cloud Connector 版本 1.4 至 1.10)请使用以下命令:
docker exec -i hze-nginx sudo nginx -t systemctl restart hze-nginx
- (Horizon Cloud Connector 版本 1.3 或更低版本)请使用以下命令:
nginx -t systemctl restart nginx
- (Horizon Cloud Connector 版本 2.0 或更高版本)请使用以下命令:
- 在欢迎屏幕中更新 SSL 指纹。
- (Horizon Cloud Connector 版本 2.0 或更高版本)请使用以下命令:
/opt/vmware/bin/configure-welcome-screen.py /usr/bin/killall --quiet vami_login
- (Horizon Cloud Connector 版本 1.4 至 1.10)请使用以下命令:
docker exec -i hze-core sudo /opt/vmware/bin/configure-welcome-screen.py /usr/bin/killall --quiet vami_login
- (Horizon Cloud Connector 版本 2.0 或更高版本)请使用以下命令:
- 通过在 Web 浏览器中重新加载 Horizon Cloud Connector 用户界面 URL,对新证书进行测试。
- (可选) 如果该证书可正常使用,请移除备份的文件。
- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
rm /opt/container-data/certs/hze-nginx/server.crt.orig rm /opt/container-data/certs/hze-nginx/server.key.orig rm /opt/container-data/conf/hze-nginx/nginx.conf.orig
- (Horizon Cloud Connector 版本 1.3 或更低版本)请使用以下命令:
rm /etc/nginx/ssl/server.crt.orig rm /etc/nginx/ssl/server.key.orig rm /etc/nginx/nginx.conf.orig
- (Horizon Cloud Connector 版本 1.4 或更高版本)请使用以下命令:
- 移除根目录中复制的 CA 证书和密钥文件。
使用以下命令:
rm /root/server.crt
rm /root/server.key