1

我想通过 stunnel 代理到 XMPP ejabberd/mongoose 服务器。Stunnel 有一个证书,client=no 等。这是配置:

cert = /home/user/ssl/CA/certs/server.cert.pem
key = /home/user/ssl/CA/private/server.nopass.key.pem

;sslVersion = TLSv1
sslVersion = all

setuid = stunnel4
setgid = stunnel4
pid= /var/run/stunnel4/stunnel.pid

socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1

verify = 2
CApath = /home/user/ssl/CA/certs
CAfile = /home/user/ssl/CA/certs/ca.cert.pem
CRLpath = /home/user/ssl/CA/crl/
CRLfile = /home/user/ssl/CA/crl/crl.pem
debug = info
output = /var/log/stunnel4/stunnel.log

[mongooseim]
accept = 5226
connect = 5222

如果我以这种方式连接:

openssl s_client -connect localhost:5226 -cert /home/user/ssl/CA/certs/username.cert.pem -key /home/user/ssl/CA/private/username.key.pem -verify 2

几乎一切都很好。我的意思是 stunnel 没有错误,xmpp 服务器知道有东西试图连接到它。

但是,如果我以这种方式连接,就像客户端一样(使用 -starttls xmpp):

openssl s_client -connect localhost:5226 -cert /home/user/ssl/CA/certs/username.cert.pem -key /home/user/ssl/CA/private/username.key.pem -verify 2 -starttls xmpp

我在 stunnel 日志中收到错误:

SSL_accept: 140760FC: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol

并且 xmpp 服务器日志是安静的,这意味着没有任何东西试图连接到 xmpp。

我应该怎么做才能使用 -startssl xmpp 很好地处理客户端请求?

谢谢你。

4

0 回答 0