【问题标题】:How to renew Lets encrypt certificate in ejabberd configured server?如何在 ejabberd 配置的服务器中更新 Lets 加密证书?
【发布时间】:2019-05-28 06:08:48
【问题描述】:

如何在 ejabberd 配置的服务器中更新 Lets 加密证书?我的服务器是 Debian-jessie,我尝试使用以下命令更新 SSL 证书, certbot certonly -d mydomainname

但它产生了一个意想不到的错误:

授权程序失败。 : urn:acme:error:connection ::Timeout 在连接期间(可能是防火墙问题)。跳过。

连接超时(可能是防火墙问题)

要修复这些错误,请确保您的域名是 正确输入和该域的 DNS A 记录 包含正确的 IP 地址。此外,请检查 您的计算机有一个可公开路由的 IP 地址,并且没有 防火墙阻止服务器与 客户。如果您使用的是 webroot 插件,您还应该验证 您正在从您提供的 webroot 路径提供文件。

【问题讨论】:

  • 我可能错了,但你需要一个 http 服务器才能让letsencrypt 工作。
  • 如果您使用的是 certbot,这不是 ejabberd 特定的错误。如错误消息所述,问题可能是错误的 DNS 设置或防火墙问题。确切原因取决于您的案例中使用的验证方法。
  • 感谢 emix 和 Mickeal 的宝贵意见

标签: ejabberd debian-jessie


【解决方案1】:

找到了正确的答案:

您需要先停止服务 ejabberd 服务,然后再执行 过程,

 service ejabberd stop

然后把过期的ssl pem文件移到别的地方,

mv /etc/ejabberd/ejabberd.pem  /etc/ejabberd/ejabberd.pem.backup

进入证书启动所在目录,

cd /root

输入以下命令以更新证书 必填域

certbot certonly --webroot -w /etc/ejabberd -d yourdomain.com --force-renewal --rsa-key-size 4096

然后将生成的ssl文件合并到ejabberd配置文件中

cat /etc/letsencrypt/live/yourdomain.com/privkey.pem /etc/letsencrypt/live/chat.yourdomain.com/fullchain.pem > ejabberd.pem

然后将pem文件移动到ejabberd根路径

mv ejabberd.pem /etc/ejabberd

chown ejabberd /etc/ejabberd/ejabberd.pem

启用 ejabberd 服务

service ejabberd start

service ejabberd status

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-15
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    • 2021-05-15
    相关资源
    最近更新 更多