我在AWS的EC2实例中配置了docker-compose的MongooseIM服务器。
我打算通过以下方式通过端口5222(mongooseim的ejabberd_c2s模块)上的ELB(AWS)通过SSL访问某些移动客户端:
SSL (Secure TCP) -> 5222 -> TCP -> 5222 (EC2 Instance Port)
Run Code Online (Sandbox Code Playgroud)
在ejabberd_c2s模块配置中,我具有以下内容:
{ 5222, ejabberd_c2s, [
%%
%% If TLS is compiled in and you installed a SSL
%% certificate, specify the full path to the
%% file and uncomment this line:
%%
{certfile, "priv/ssl/fake_server.pem"}, starttls,
%%{zlib, 10000},
%% https://www.openssl.org/docs/apps/ciphers.html#CIPHER_STRINGS
%% {ciphers, "DEFAULT:!EXPORT:!LOW:!SSLv2"},
{access, c2s},
{shaper, c2s_shaper},
{max_stanza_size, 65536},
{protocol_options, ["no_sslv3"]}
]},
Run Code Online (Sandbox Code Playgroud)
但是客户无法连接,我在服务器上收到的唯一消息是:
mongooseim_server_dev | 10:58:25.885 [info] (#Port<0.27608>) Accepted connection {{10,0,17,246},42571} -> {{172,18,0,2},5222}
mongooseim_server_dev | 10:58:25.885 [debug] …Run Code Online (Sandbox Code Playgroud)