因为旧的零刻机子终于退役了,我决定将备用的 PVE 服务器扶正,并将域名指向新机子。
以下是修改 SSL 证书的详细步骤。
步骤一:将 crt 证书转为 pem 证书
首先,你需要将你的 crt
格式证书转换为 pem
格式:
openssl x509 -in your.domain.crt -out your.domain.pem -outform PEM
检查一下PEM证书是否有效和符合期望,如果正常输出内容,则证明证书转换成功。
openssl x509 -in your.domain.pem -text -noout
步骤二:确定节点名称
要确保你操作的是正确的节点,首先检查当前节点名称。一般情况下,节点名称可以通过 /etc/hostname
文件查看。你也可以通过以下命令确定节点路径:
cd /etc/pve/nodes/$(cat /etc/hostname)
pwd
步骤三:备份并导入证书
在替换证书前,建议先备份原有的证书文件 pveproxy-ssl.pem
和 pveproxy-ssl.key
:
cp /etc/pve/nodes/$(cat /etc/hostname)/pveproxy-ssl.pem /etc/pve/nodes/$(cat /etc/hostname)/pveproxy-ssl.pem.bak
cp /etc/pve/nodes/$(cat /etc/hostname)/pveproxy-ssl.key /etc/pve/nodes/$(cat /etc/hostname)/pveproxy-ssl.key.bak
然后,将新的证书和私钥复制到相应目录:
cp your.domain.pem /etc/pve/nodes/$(cat /etc/hostname)/pveproxy-ssl.pem
cp your.domain.key /etc/pve/nodes/$(cat /etc/hostname)/pveproxy-ssl.key
步骤四:重启服务
替换证书后,需要重启 pveproxy
服务,以使更改生效:
systemctl restart pveproxy
步骤五:域名配置
至此,证书已经替换完成。但为了实现通过域名访问 PVE,还需要在路由器上配置相应的 DNS 设置。
踩坑提醒
- 不需要修改
/etc/hostname
和/etc/hosts
配置文件:改了之后可能出现虚拟机无法访问的情况。 - 不要上传CA根证书:如果使用的是图形界面,避免上传根证书。PVE 的证书配置只需要替换对应节点的证书,不需要修改根证书。
- 不要修改
pve-ssl.pem
和pve-ssl.key
证书:这两个证书用于 PVE 集群通信,修改后可能导致集群间的通信中断。所以,这两个证书无需动,保持原样即可。