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