首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用letsencrypt证书Ejabbed

使用letsencrypt证书Ejabbed
EN

Stack Overflow用户
提问于 2017-10-05 22:46:12
回答 2查看 2.8K关注 0票数 1

我正在尝试让Ejabberd在centos7上使用letsencrypt证书。我一直收到关于证书不是由已知CA签名的错误。

我已经通过certbot创建了证书,并将privkey和fullchain文件连接到单个文件中。

所有的c2s连接都能正常工作,但s2s连接却不行。

启动Ejabberd时,我看到以下相关日志条目:

代码语言:javascript
复制
[warning] <0.606.0>@ejabberd_pkix:check_ca_dir:386 CA directory /etc/ssl/certs doesn't contain hashed certificate files; configuring 'ca_path' option might help
[warning] <0.606.0>@ejabberd_pkix:mk_cert_state:240 certificate from /opt/ejabberd/conf/xxxx.pem is invalid: certificate is signed by unknown CA

例如,与draugr.de的连接会生成以下条目:

代码语言:javascript
复制
[info] <0.793.0>@ejabberd_s2s_in:handle_auth_failure:206 (tls|<0.792.0>) Failed inbound s2s EXTERNAL authentication draugr.de -> XXXXX.net (::FFFF:89.163.212.45): unable to get local issuer certificate

我希望有人能帮助我,谢谢!

EN

回答 2

Stack Overflow用户

发布于 2017-10-22 07:34:50

我终于能够自己解决它了,但是我在接下来的几天里不在办公室,不能给你确切的配置来解决它。

但是如果我没记错的话,我在这里下载了CA包,https://curl.haxx.se/docs/caextract.html中有一些配置参数让ejabberd使用这个CA包来代替默认的CA包。

希望能对你有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2017-11-02 15:46:30

如果它适用于c2s,而不适用于s2s,那么看起来配置文件中的s2s块没有使用certfile进行更新。我相信你为c2s准备了类似这样的东西:

代码语言:javascript
复制
port: 5222
    ip: "::"
    module: ejabberd_c2s
    starttls: true
    certfile: 'CERTFILE'
    protocol_options: 'TLSOPTS'

类似地,您的s2s块应该具有:

代码语言:javascript
复制
port: 5269
    ip: "::"
    module: ejabberd_s2s_in
    starttls: true
    certfile: 'CERTFILE'
    protocol_options: 'TLSOPTS'
    max_stanza_size: 131072
    shaper: s2s_shaper
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46588539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档