问题标签 [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.
amazon-web-services - CertBot 未经授权 - 无效响应
我正在尝试为我的 webapp 安装证书,该证书部署在我的 Amazon AWS 中。
当我运行上述命令时,我得到以下响应
我试图指向我部署的应用程序Apache tomcat server
。我可以看到.well-known
正在创建文件夹,但文件夹完全是空的。
对此有任何启示吗?
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 ")
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?
nginx - Certbot /.well-known/acme-challenge
我应该让 /.well-known/acme-challenge 始终暴露在服务器上吗?这是我的 HTTP 配置:
这基本上将所有请求重定向到 https,除了 acme-challenge(用于自动续订)。我的问题:是否可以将位置“/.well-known/acme-challenge”始终暴露在端口 80 上?或者在需要重新颁发证书时更好地手动注释/取消注释?这有什么安全问题吗?
任何有关此位置的建议或链接都值得阅读。谢谢!
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
包含以下内容的文件:
所以我相对确定我使用了正确的文件(其他文件给了我类似badmatch
and的错误{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
修复了所有问题。
nginx - Letsencrypt certbot-nginx 插件。它是如何工作的?
我成功使用了 certbot-nginx 插件。
我知道它是开源的并托管在 github 上。
但是我没有足够的技能来分析这段代码。
例如:
我有几个由 nginx 代理的内部站点。所有虚拟主机配置都具有以下匿名访问限制:
此访问限制禁止 letencrypt 服务器以及所有其他未定义的主机。
但certbot renew --nginx
正常执行证书更新。
它是如何工作的 ?
如果它是安全的?
lets-encrypt - 更新让我们用 certbot 加密不起作用
我正在尝试使用 certbot 更新最近过期的证书(原始证书也是通过 certbot 生成的)。但是,更新命令不起作用:
certbot 日志具有以下输出:
有关解决此问题的任何想法?我尝试以 root 身份运行上述更新命令。我已经停止了 nginx,以防它干扰进程。
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?
非常感谢您的任何建议。
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
然后你需要重做或只是修改libcrypto
和libssl
符号链接。通过在/usr/lib/x86_64-linux-gnu
文件夹中输入命令ln -s libssl.so.1.1 libssl
和ln -s libcrypto.so.1.1 libcrypto
.
然后输入以下命令:
你完成了,一切都应该正常工作。
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-known
andacme-challenge
文件夹的写入权限(root 和 www-data 用户正在运行 apache2 和 nginx 进程)。
即使在授予该写权限后,我仍然会收到上面详述的 404 错误。
我还运行了一个自动证书更新过程,crontab
并且我将输出记录到本地文件中。在该日志文件中,我看到续订请求似乎工作正常,直到certbot-auto
从 0.9.3 升级到 0.10.1。以下是升级发生时日志文件中的示例:
您可以看到升级后,该过程开始失败并显示 404 消息。
我已经尝试了所有可以在网上找到的建议并且完全被难住了,所以任何帮助都将不胜感激。提前致谢!