这埃贾伯德我正在配置的服务器对证书文件和端口 5222 有以下配置。 加吉姆,磅力和皮钦语可以正常连接。 对话不能。存在一些流错误。
ejabberd 的日志显示
2021-07-15 16:15:01.459 [info] <0.381.0>@ejabberd_listener:accept:273 (<0.649.0>) Accepted connection 88.88.88.72:65069 -> 192.168.7.5:5222```
对于 Gajim 来说,除了像上面这样的一行之外,打开连接时还有两行:
2021-07-15 16:16:10.465 [info] <0.651.0>@ejabberd_c2s:process_auth_result:268 (tls|<0.651.0>) Accepted c2s SCRAM-SHA-256 authentication for test1@myserver by mnesia backend from 88.88.88.72
2021-07-15 16:16:10.550 [info] <0.651.0>@ejabberd_c2s:bind:442 (tls|<0.651.0>) Opened c2s session for test1@myserver/gajim.W2AAA7JO
的一部分ejabberd 的配置文件是:
certfiles:
- "/usr/local/etc/ejabberd/certs/myserver.pem"
- "/usr/local/etc/ejabberd/certs/myserver.key"
listen:
-
port: 5222
ip: "192.168.7.5"
module: ejabberd_c2s
max_stanza_size: 262144
shaper: c2s_shaper
access: c2s
tls: true
starttls: true
starttls_required: true
protocol_options:
- "no_sslv2"
- "no_sslv3"
- "no_tlsv1"
- "no_tlsv1_1"
ciphers: "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"
dhfile:
"/usr/local/etc/ejabberd/certs/c2s_dh2048.pem"
我也尝试过注释掉ciphers
和no_ssl*
,no_tls*
但无济于事。
ejabberd 服务器不在网关上运行,而是在启用了端口转发的 LAN 位置上运行。
之间有什么问题对话和埃贾伯德?
答案1
tls: true
starttls: true
这些选项是互斥的。starttls
通常设置在端口 5222,以及tls
端口 5223。
看看TLS选项文档:
启用此选项会隐式禁用 starttls 选项。
因此,您tls
在端口 5222 上启用了,这是一个坏主意……再加上starttls
,这又是一个坏主意。
只需设置tls
为 false 或删除该行。