我有一个网站在 Apache 端口 80 HTTP 上成功运行(在一个临时子域上)。
我正在关注本教程,以便在 Apache2、Ubuntu 上使用 LetsEncrypt 和 certbot 设置 SSL 证书:
已执行以下步骤:
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-apache
sudo certbot --apache -d example.com -d www.example.com
最后一步失败了
未经授权
消息,可能是因为该站点位于代理后面和/或因为example.com尚未生效(尚未设置 DNS A 和 CNAME 记录,因为旧主机应该有流畅的更改并且该网站已经生效)。
因此,我必须在设置DNS 记录之前手动设置证书。我发现 certbot 有一个--manual
选项:https ://certbot.eff.org/docs/using.html#manual
如果这更有用,我还有一个来自 LetsEncrypt 的example.com的.cert文件?
然而,这是我被卡住的地方,我不知道如何正确进行(是的,我对服务器设置非常陌生)。
你能告诉我下一步是什么/是为了以手动方式正确设置这个 ssl 证书吗?
Certbot 有三种方法可以验证您对 Letsencrypt 的域的所有权。其中两个(
http
和tls-sni
)打开一个端口并提供某个内容(http
)或证书(tls-sni
);它们都对您不可用,因为域(如您所说)不指向您正在运行的主机certbot
。第三种方式 (
dns
) 非常适合您的场景。引用certbot
文档:这就是你需要做的。跑
此命令应执行以下操作:
/etc/letsencrypt
最后,您必须将证书配置添加到您的网络服务器。