【问题标题】:LetsEncrypt lego script not working (Bitnami AWS Lightsail)LetsEncrypt 乐高脚本不起作用(Bitnami AWS Lightsail)
【发布时间】:2020-02-28 17:24:31
【问题描述】:

tl;dr:我曾经使用 certbot 从 LetsEncrypt 安装新证书,但这涉及手动更新 TXT 记录。所以我试着改用乐高来做。但是当我使用乐高安装新证书时,它实际上并没有安装新证书(旧证书仍然显示在浏览器中)。

加长版:

我在运行 Bitnami 的 AWS Lightsail 实例上。我对 Linux 有点熟悉,但我不认为自己对它“得心应手”。

过去,我曾经执行以下操作来更新我的证书:

DOMAIN=mydomain.com
WILDCARD=*.$DOMAIN
sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonly

(Install TXT records)

sudo /opt/bitnami/ctlscript.sh restart apache

但是,这有点烦人,LetsEncrypt 提供了乐高库来自动执行此操作。所以根据我能找到的documentation,我做了以下事情:

$ sudo /opt/bitnami/ctlscript.sh stop
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd stopped
/opt/bitnami/php/scripts/ctl.sh : php-fpm stopped
/opt/bitnami/mysql/scripts/ctl.sh : mysql stopped

$ sudo /opt/bitnami/letsencrypt/lego --tls --email="myemail@domain.com" --domains="mydomain.com" --domains="www.mydomain.com" --path="/opt/bitnami/letsencrypt" run
2020/02/28 16:58:57 [INFO] [mydomain.com, www.mydomain.com] acme: Obtaining bundled SAN certificate
2020/02/28 16:58:57 [INFO] [mydomain.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/3062019938
2020/02/28 16:58:57 [INFO] [www.mydomain.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/3062019945
2020/02/28 16:58:57 [INFO] [mydomain.com] acme: use tls-alpn-01 solver
2020/02/28 16:58:57 [INFO] [www.mydomain.com] acme: use tls-alpn-01 solver
2020/02/28 16:58:57 [INFO] [mydomain.com] acme: Trying to solve TLS-ALPN-01
2020/02/28 16:58:58 http: TLS handshake error from 74.108.143.17:49475: remote error: tls: illegal parameter
2020/02/28 16:58:58 http: TLS handshake error from 94.6.194.131:59130: remote error: tls: bad certificate
2020/02/28 16:58:58 http: TLS handshake error from 74.108.143.17:49476: remote error: tls: illegal parameter
2020/02/28 16:58:58 http: TLS handshake error from 94.6.194.131:59131: remote error: tls: bad certificate
2020/02/28 16:59:00 http: TLS handshake error from 81.187.9.124:49274: remote error: tls: bad certificate
2020/02/28 16:59:01 http: TLS handshake error from 74.108.143.17:49477: remote error: tls: illegal parameter
2020/02/28 16:59:01 http: TLS handshake error from 94.6.194.131:59136: remote error: tls: bad certificate
2020/02/28 16:59:03 [INFO] [mydomain.com] The server validated our request
2020/02/28 16:59:03 [INFO] [www.mydomain.com] acme: Trying to solve TLS-ALPN-01
2020/02/28 16:59:05 http: TLS handshake error from 94.6.194.131:59137: remote error: tls: bad certificate
2020/02/28 16:59:05 http: TLS handshake error from 74.108.143.17:49478: remote error: tls: illegal parameter
2020/02/28 16:59:06 http: TLS handshake error from 86.163.23.242:53113: remote error: tls: bad certificate
2020/02/28 16:59:08 http: TLS handshake error from 94.6.194.131:59138: remote error: tls: bad certificate
2020/02/28 16:59:08 http: TLS handshake error from 74.108.143.17:49479: remote error: tls: illegal parameter
2020/02/28 16:59:09 [INFO] [www.mydomain.com] The server validated our request
2020/02/28 16:59:09 [INFO] [mydomain.com, www.mydomain.com] acme: Validations succeeded; requesting certificates
2020/02/28 16:59:10 [INFO] [mydomain.com] Server responded with a certificate.

$ sudo /opt/bitnami/letsencrypt/lego --tls --email="myemail@domain.com" --domains="unmodchat.com" --domains="www.mydomain.com" --path="/opt/bitnami/letsencrypt" renew --days 90
2020/02/28 16:59:13 [INFO] [mydomain.com] acme: Trying renewal with 2158 hours remaining
2020/02/28 16:59:13 [INFO] [mydomain.com, www.mydomain.com] acme: Obtaining bundled SAN certificate
2020/02/28 16:59:14 [INFO] [mydomain.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/3062019938
2020/02/28 16:59:14 [INFO] [www.mydomain.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/3062019945
2020/02/28 16:59:14 [INFO] [mydomain.com] acme: authorization already valid; skipping challenge
2020/02/28 16:59:14 [INFO] [www.mydomain.com] acme: authorization already valid; skipping challenge
2020/02/28 16:59:14 [INFO] [mydomain.com, www.mydomain.com] acme: Validations succeeded; requesting certificates
2020/02/28 16:59:14 [INFO] [mydomain.com] Server responded with a certificate.

$ sudo /opt/bitnami/ctlscript.sh start
/opt/bitnami/mysql/scripts/ctl.sh : mysql  started at port 3306
/opt/bitnami/php/scripts/ctl.sh : php-fpm started
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80

完成此操作并重新启动浏览器后,当我查看证书详细信息时,它列出了与以前相同的到期日期(3 月 20 日,距现在不到一个月)。

我做错了什么?我有一种感觉,乐高可能会将证书安装到错误的位置,但我不太确定如何找到“正确”的位置,也不知道如何告诉乐高将它们放在那里。

【问题讨论】:

  • 你确定这不属于超级用户吗?
  • Bitnami 工程师在这里,lego 命令在 /opt/bitnami/letsencrypt/cetificates 文件夹中创建了一个名为“mydomain.com”的文件。检查我们的文档,我们解释了如何创建指向该文件的符号链接,以便 Apache 可以开始使用它们,您是否创建了该符号链接?你可以运行这个命令来验证它ls -la /opt/bitnami/apache2/conf/server*
  • @JotaMartos 当我运行该命令时,它看起来证书来自 10 月 30 日:lrwxrwxrwx 1 root root 49 Oct 30 2018 /opt/bitnami/apache2/conf/server.crt -> /etc/ letsencrypt/live/mydomain.com/fullchain.pem -rw-r--r-- 1 root root 1164 Oct 30 2018 /opt/bitnami/apache2/conf/server.crt.old -rw-r--r-- 1 根 985 2018 年 10 月 30 日 /opt/bitnami/apache2/conf/server.csr.old lrwxrwxrwx 1 根 47 2018 年 10 月 30 日 /opt/bitnami/apache2/conf/server.key -> /etc/letsencrypt/live/ mydomain.com/privkey.pem -rw-r--r-- 1 root root 1675 Oct 30 2018 /opt/bitnami/apache2/conf/server.key.old
  • 您没有使用使用 lego 命令生成的证书。您可以按照step 3 of our documentation 创建新的符号链接吗?
  • @JotaMartos 好的,谢谢!我按照第 3 步操作,然后运行 ​​lego 命令更新证书,现在一切正常。

标签: lets-encrypt bitnami amazon-lightsail


【解决方案1】:

感谢来自 Bitnami 的 Jota Martos 的解决方案。我找到的文档不完整,跳过了此文档中的第 3 步:https://docs.bitnami.com/aws/how-to/generate-install-lets-encrypt-ssl/#step-3-configure-the-web-server-to-use-the-let-s-encrypt-certificate

在完成这些 mv 命令并再次使用 lego 命令后,一切正常。谢谢乔塔!

【讨论】:

    猜你喜欢
    • 2018-07-24
    • 2021-06-06
    • 2022-08-04
    • 2020-03-21
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 2021-03-12
    • 2018-03-21
    相关资源
    最近更新 更多