我在不同的 plesk 服务器中有几个$DOMAIN
(都在 v.11 以上)。 我有一个脚本可以续订其中一些证书。
我需要知道如何通过 CLI 将更新的证书设置为$DOMAIN
的默认证书。/usr/local/psa/bin/certificate
实用程序有一个-default
标志,但对域无效,而是对管理池无效(因此 plesk 服务器本身)。
到目前为止,我继续从Web界面为每个域设置新创建的证书。 这是我使用的脚本(通过 certbot 脚本更新 SSL 证书后):
/usr/local/psa/bin/certificate
-c "${DOMAIN}-$(date +%Y-%m-%d)"
-domain ${DOMAIN}
-csr-file /etc/ssl/certbot/${DOMAIN}/${DOMAIN}.csr
-cacert-file /etc/ssl/certbot/${DOMAIN}.ca
-cert-file /etc/ssl/certbot/${DOMAIN}.crt
-key-file /etc/ssl/certbot/${DOMAIN}.key
我希望名为"${DOMAIN}-$(date +%Y-%m-%d)
"的证书是$DOMAIN
的默认证书。 我如何通过脚本而不是通过 Web 界面来实现这一点?
我回答了我自己的问题。 问题是我正在创建一个新证书,而不需要创建一个,而是更新现有证书。
因此,脚本应更新如下:
/usr/local/psa/bin/certificate
-u "$CERTIFICATE_NAME_IN_USE"
-domain ${DOMAIN}
-csr-file /etc/ssl/certbot/${DOMAIN}/${DOMAIN}.csr
-cacert-file /etc/ssl/certbot/${DOMAIN}.ca
-cert-file /etc/ssl/certbot/${DOMAIN}.crt
-key-file /etc/ssl/certbot/${DOMAIN}.key
$CERTIFICATE_NAME_IN_USE 的变量可以通过以下命令轻松获取:
/usr/local/psa/bin/certificate -l -domain ${DOMAIN} | grep ${DOMAIN} | awk '$6 != "0" {print $5}'
希望这对其他人有帮助。