问题标签 [certbot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4444 浏览

amazon-web-services - CertBot 未经授权 - 无效响应

我正在尝试为我的 webapp 安装证书,该证书部署在我的 Amazon AWS 中。

当我运行上述命令时,我得到以下响应

我试图指向我部署的应用程序Apache tomcat server。我可以看到.well-known正在创建文件夹,但文件夹完全是空的。

对此有任何启示吗?

0 投票
0 回答
331 浏览

python-2.7 - Python 2.6 或 2.7 setuptools > OSError - "Bootstra...sys.argv" = "setuptools failed with error code 1" > (Certbot-auto)

第一次尝试运行“certbot-auto”而不是“letsencrypt-auto”来更新服务器上的证书时,它似乎失败并显示了几条消息:

我的 CentOS 中内置的默认 Python 是 2.6,但我也有一个使用 Python 2.7 的 ALTINSTALL 设置。我无法将 Python 2.7 设为我的默认发行版,因为这会破坏 YUM,如果 YUM 不可用,certbot-auto 将无法访问“所需的 EPEL 存储库”。

我无法使用 Let's Encrypt 续订我的证书,非常感谢任何和所有帮助。

我运行了这个命令: ./certbot-auto --verbose

它产生了这个输出(打开 --verbose ):

在此处输入图像描述

我的操作系统是(包括版本):

将 Python 2.7 设置为默认值会为 YUM 命令产生以下结果:(" no module named yum ")

在此处输入图像描述

0 投票
2 回答
1453 浏览

lets-encrypt - 如何在没有 DNS 的情况下通过 Let's Encrypt 实现 Caddy 自动 TLS?

我确信这是一个典型的场景,但我找不到合适的步骤顺序。

我在(比如说)1.1.1.1 有一个运行 Apache 的 www.example.com 服务器。我正在使用 Caddy 在 2.2.2.2 构建一个新服务器。为了测试,我输入2.2.2.2 www.example.com了我的本地 /etc/hosts。一旦一切正常,我会将 www.example.com DNS 条目重新指向 Caddy。

问题是我无法在 2.2.2.2 上启动 Caddy 来服务 www.example.com。

我明白了 [www.example.com] failed to get certificate: acme: Error 403 - urn:acme:error:unauthorized - Invalid response from http://www.example.com/.well-known/acme-challenge/6Xc4_oq6r0de25CtrYIw59YeVHvUWQ9Ag6H3XbGx8y0:

我认为这是由于 www.example.com 的 DNS 条目指向 1.1.1.1,而不是 2.2.2.2

那么如何获取证书并启动 Caddy,以便在更新公共 DNS 条目之前在 2.2.2.2 上测试 www.example.com?

0 投票
4 回答
28939 浏览

nginx - Certbot /.well-known/acme-challenge

我应该让 /.well-known/acme-challenge 始终暴露在服务器上吗?这是我的 HTTP 配置:

这基本上将所有请求重定向到 https,除了 acme-challenge(用于自动续订)。我的问题:是否可以将位置“/.well-known/acme-challenge”始终暴露在端口 80 上?或者在需要重新颁发证书时更好地手动注释/取消注释?这有什么安全问题吗?

任何有关此位置的建议或链接都​​值得阅读。谢谢!

0 投票
1 回答
465 浏览

ssl - 带有 SSL 的 Yaws 给出错误“SSL 接受失败:超时”

我使用 certbot 为我的网站生成 Let's encrypt 证书,但是SSL accept failed: timeout当我尝试连接它时 Yaws 给了我一个错误(当然是在超时之后)。有趣的是,当我重定向example.com到我机器上的主机文件中的服务器的本地 IP 地址并连接到时,它可以工作example.com:8080,但当我在example.com不编辑主机文件的情况下连接到或当我通过 4G 从手机连接时,它就不行了。这是我的网络服务器的配置文件(它是 中唯一的配置文件conf.d):

我确保 yaws 用户可以读取密钥文件和证书。密钥文件旁边是一个README包含以下内容的文件:

所以我相对确定我使用了正确的文件(其他文件给了我类似badmatchand的错误{tls_alert,"decrypt error"})。我还尝试了一些琐碎的事情,比如https://在 URL 之前写,但它没有解决问题,而且,当服务器在没有 SSL 的情况下运行时一切正常。我的服务器上运行的 Erlang 版本是 Erlang/OTP 19。此外,如果不清楚,域实际上不是example.com.

此外,如果重要,则example.com通过 cname 重定向到。examplecom.duckdns.org

更新:

当默认 https 端口为 port 时,我的服务器正在侦听8080从外部 port 转发的 port 80,用于 https 连接443。我的另一个错误是连接到http://example.com而不是https://example.com. 将外部端口转发443到内部端口8443并配置 yaws 以侦听端口8443修复了所有问题。

0 投票
1 回答
2046 浏览

nginx - Letsencrypt certbot-nginx 插件。它是如何工作的?

我成功使用了 certbot-nginx 插件。

我知道是开源的并托管在 github 上。

但是我没有足够的技能来分析这段代码。

例如:

我有几个由 nginx 代理的内部站点。所有虚拟主机配置都具有以下匿名访问限制:

此访问限制禁止 letencrypt 服务器以及所有其他未定义的主机。

certbot renew --nginx正常执行证书更新。

它是如何工作的 ?

如果它是安全的?

0 投票
1 回答
2516 浏览

lets-encrypt - 更新让我们用 certbot 加密不起作用

我正在尝试使用 certbot 更新最近过期的证书(原始证书也是通过 certbot 生成的)。但是,更新命令不起作用:

certbot 日志具有以下输出:

有关解决此问题的任何想法?我尝试以 root 身份运行上述更新命令。我已经停止了 nginx,以防它干扰进程。

0 投票
1 回答
1860 浏览

amazon-web-services - 在 Amazon AMI (Centos) 上使用 Let's Encrypt - 甚至无法安装软件包,有什么想法吗?

在此处遵循说明:https ://ivopetkov.com/b/let-s-encrypt-on-ec2/

我试过这个:git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt /opt/letsencrypt/letsencrypt-auto --debug

并得到错误:你未知的选项“调试”

我删除了 --debug 并得到了这个错误:参数太多。

所以,我几乎被困在了水里。几个月前,我使用不同的教程进行了尝试,并取得了进一步的进展,但 certbot 本身返回了一个警告,即使用 Amazon AMI(我是)是有问题的。

例如,我在运行时收到此错误./certbot-auto

致命:Amazon Linux 支持目前非常实验性...如果您想改进它,请确保您有备份,然后使用 --debug 标志再次运行此脚本!

有没有人幸运地使用 Amazon AMI 设置 Let's Encrypt SSL?

非常感谢您的任何建议。

0 投票
3 回答
11678 浏览

python-2.7 - 未定义符号:OPENSSL_sk_num

我正在尝试使用Certbot更新Let's Encrypt证书。它停止工作,我不知道为什么。这是错误:

我安装了最新的 OpenSSL 版本

我尝试通过执行以下操作来调试此问题。首先,我只是尝试在 python 控制台中添加 import OpenSSL。它工作得很好,没有错误。但是当我尝试

然后>>> import OpenSSl 我得到错误:

我尝试删除 /root/.local/share/letsencrypt/ 路径,然后尝试再次运行 certbot-auto。我仍然得到同样的错误。有没有人遇到过这个问题并知道解决方案?请帮帮我。需要更新一些证书。

更新:

我发现/lib/x86_64-linux-gnu目录中有旧版本的 libssl.so.1.0.0 并且没有OPENSSL_sk_num. 当我尝试用较新版本的 libssl1.1(它确实有OPENSSL_sk_num)替换时,我得到一个它需要的错误OPENSSL_VERSION 1.0.1。然后经过一番努力从 /usr 目录和本地目录中删除库后,我得到了错误ImportError: libssl.so.1.0.0: cannot open shared object file: No such file or directory。我怎样才能改变它,让letsencrypt使用更新的库?

解决方案

经过一番挣扎。我刚刚重新安装了 openssl 1.1.0c 版。从另一个项目复制了letsencrypt库并且它有效。我认为一些升级毁了它。所以我建议大家在运行letsencrypt时只使用--no-self-upgrade选项。

解决方案更新

再次遇到此问题后,我决定以正确的方式解决它。所以基本上你需要用命令重新编译openssl 1.1.0c:

./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'make

将编译好的libcrypto.so.1.1和复制libssl.so.1.1/usr/lib/x86_64-linux-gnu

然后你需要重做或只是修改libcryptolibssl符号链接。通过在/usr/lib/x86_64-linux-gnu文件夹中输入命令ln -s libssl.so.1.1 libsslln -s libcrypto.so.1.1 libcrypto.

然后输入以下命令:

你完成了,一切都应该正常工作。

0 投票
2 回答
4322 浏览

apache - certbot-auto:客户端缺乏足够的授权

我知道这个问题已经被问过好几次了,但我需要一些具体的帮助,因为我一直在听取其他几个线程的建议,但到目前为止没有任何效果。

我正在尝试在 Ubuntu 14.04 中使用 更新我的 SSL 证书certbot-auto renew,并且我正在运行 Apache2 服务器和 nginx。我得到以下输出certbot-auto renew

我确保.well-known文件夹存在/var/www/my-domain.com/public_html,当我http://my-domain.com/.well-known/在浏览器中导航到时,我能够看到该目录的内容。我还在其中添加了一个acme-challenge文件夹.well-known并包含了一个test.txt用于测试的文件;我能够在浏览器中访问目录和文本文件。

我发现acme-challenge运行命令时没有创建文件夹,certbot-auto所以这似乎是权限问题。我certbot-auto以 root 身份运行,但也授予www-data用户对.well-knownandacme-challenge文件夹的写入权限(root 和 www-data 用户正在运行 apache2 和 nginx 进程)。

即使在授予该写权限后,我仍然会收到上面详述的 404 错误。

我还运行了一个自动证书更新过程,crontab并且我将输出记录到本地文件中。在该日志文件中,我看到续订请求似乎工作正常,直到certbot-auto从 0.9.3 升级到 0.10.1。以下是升级发生时日志文件中的示例:

您可以看到升级后,该过程开始失败并显示 404 消息。

我已经尝试了所有可以在网上找到的建议并且完全被难住了,所以任何帮助都将不胜感激。提前致谢!