本操作方法将引导您通过SSL.com通过ACME协议和Certbot客户端为Apache和Nginx设置自动证书安装和续订。
请注意: 您将需要SSH访问和
sudo
您的Web服务器上的特权以遵循这些说明。请注意:
您可以使用许多其他 ACME 客户端,包括 Kubernetes认证经理,使用 SSL.com 的 ACME 服务。
acme4j 客户端现在可以在此存储库上使用 SSL.com ACME 服务: https://github.com/SSLcom/acme4j
请参阅您的软件提供商的文档,了解其他非 Certbot ACME 客户端的说明。
您可以使用许多其他 ACME 客户端,包括 Kubernetes认证经理,使用 SSL.com 的 ACME 服务。
acme4j 客户端现在可以在此存储库上使用 SSL.com ACME 服务: https://github.com/SSLcom/acme4j
请参阅您的软件提供商的文档,了解其他非 Certbot ACME 客户端的说明。
安装Certbot并检索ACME凭据
- SSH进入您的Web服务器。
- 确保当前版本 Certbot以及Apache和Nginx插件一起安装在您的Web服务器上:
- 如果你有 已安装,您可以使用以下命令进行安装:
sudo snap install-经典certbot
- If
/snap/bin/
不在你里面PATH
,您还需要添加它或运行如下命令:须藤ln -s / snap / bin / certbot / usr / bin / certbot
- 如果你有 已安装,您可以使用以下命令进行安装:
- 从SSL.com帐户中检索ACME凭据:
Apache安装和自动化
使用这样的命令在Apache上安装。 用您的实际值替换ALL CAPS中的值:
sudo certbot --apache --email EMAIL-ADDRESS --agree-tos --no-eff-email --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com --eab -kid ACCOUNT-KEY --eab-hmac-key HMAC-KEY --server https://acme.ssl.com/sslcom-dv-ecc -d DOMAIN.NAME
分解命令:
sudo certbot
跑了certbot
具有超级用户权限的命令。--apache
指定安装用于Apache的证书。--email EMAIL-ADDRESS
提供注册电子邮件地址。 您可以指定多个地址,以逗号分隔。--agree-tos
(可选)同意ACME订户协议。 如果您想以交互方式达成共识,则可以忽略此设置。--no-eff-email
(可选)表示您不想与EFF共享您的电子邮件地址。 如果您省略此选项,则会提示您选择共享您的电子邮件地址。--config-dir /etc/ssl-com
(可选)设置配置目录。--logs-dir /var/log/ssl-com
(可选)设置日志目录。--eab-kid ACCOUNT-KEY
指定您的帐户密钥。--eab-hmac-key HMAC-KEY
指定您的HMAC密钥。--server https://acme.ssl.com/sslcom-dv-ecc
指定SSL.com的ACME服务器。-d DOMAIN.NAME
指定证书将覆盖的域名。
请注意: Certbot 2.0.0 或更新版本默认为新证书生成 ECDSA。 以上命令用于 ECDSA 密钥对和证书。 要改为使用 RSA 密钥:
- 更改
--server
命令中的值https://acme.ssl.com/sslcom-dv-rsa
.
当你第一次运行上面的
certbot
命令,ACME 帐户信息将存储在您计算机上的配置目录 (/etc/ssl-com
在上面显示的命令中。 在以后运行 certbot 时,您可以省略 --eab-hmac-key
和 --eab-kid
选项,因为 certbot 将忽略它们而支持本地存储的帐户信息。
如果您需要将计算机的 ACME 证书订单与不同的 SSL.com 帐户相关联,则应使用以下命令从计算机中删除此帐户信息 sudo rm -r /etc/ssl-com/accounts/acme.ssl.com
(或者,如果您省略了可选的 --config-dir
选项, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com
).
运行命令后,您应该看到如下输出:
将调试日志保存到/var/log/ssl-com/letsencrypt.log选定的插件:Authenticator apache,Installer apache获得新证书执行以下挑战:DOMAIN.NAME的http-01挑战等待验证...清理挑战在/etc/apache2/sites-available/DOMAIN-le-ssl.conf中创建了一个SSL虚拟主机。将证书部署到VirtualHost /etc/apache2/sites-available/DOMAIN-le-ssl.conf中。启用可用站点:/ etc / apache2 / sites-available / DOMAIN-le-ssl.conf将/etc/apache2/sites-enabled/DOMAIN.NAME.conf中的vhost重定向到/etc/apache2/sites-available/DOMAIN-le-ssl.conf中的ssl vhost-- -----------------------------------恭喜! 您已成功启用https://DOMAIN.NAME------------------------------------------ --
Certbot还将创建这样的crontab文件,以自动在30天内过期的任何certbot安装的证书进行自动非交互式续订:
$ cat /etc/cron.d/certbot#/etc/cron.d/certbot:certbot软件包的crontab条目##上游建议每天尝试两次更新##最终,这将是一次机会来验证证书#haven'只能在到期日为30天之内进行更新。 # # 重要的提示! 如果您#运行systemd作为初始化系统,则不会执行此cronjob。 如果您正在运行systemd,则#cronjob.timer函数优先于此cronjob。 有关#的更多详细信息,请参见systemd.timer联机帮助页,或使用systemctl show#certbot.timer。 SHELL = / bin / sh PATH = / usr / local / sbin:/ usr / local / bin:/ sbin:/ bin:/ usr / sbin:/ usr / bin 0 * / 12 * * *根测试-x / usr / bin / certbot -a \! -d / run / systemd / system && perl -e'sleep int(rand(43200))'&& certbot -q更新
请注意: 所有SSL /TLS SSL.com通过ACME发行的证书的有效期为一年。
Nginx安装和自动化
对于Nginx,只需替换 --nginx
--apache
在上面显示的命令中:
sudo certbot --nginx --email EMAIL-ADDRESS --agree-tos --no-eff-email --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com --eab -kid ACCOUNT-KEY --eab-hmac-key HMAC-KEY --server https://acme.ssl.com/sslcom-dv-ecc -d DOMAIN.NAME
请注意: Certbot 2.0.0 或更新版本默认为新证书生成 ECDSA。 以上命令用于 ECDSA 密钥对和证书。 要改为使用 RSA 密钥:
- 更改
--server
命令中的值https://acme.ssl.com/sslcom-dv-rsa
.
手动强制续订
如果您希望在即将到期之前手动续订证书,请使用以下命令:
certbot更新--force-renewal-证书名称DOMAIN.NAME
SSL.com提供了多种 SSL /TLS 服务器证书 用于HTTPS网站。