我无法通过Kaiwa聊天客户端连接到我的ejabberd服务器。这是我的ejabberd服务器配置:
hosts:
- "myserver.com"
listen:
-
port: 5280
module: ejabberd_http
certfile: "/Applications/ejabberd-15.10/conf/myserver.pem"
request_handlers:
"/websocket": ejabberd_http_ws
web_admin: true
http_bind: true
captcha: false
这是我的Kaiwa配置文件:
{
"isDev": true,
"http": {
"host": "localhost",
"port": 8000
},
"server": {
"domain": "myserver.com",
"wss": "wss://myserver.com:5280/websocket/"
}
}
当我尝试登录时出现此错误:
WebSocket连接到' wss://myserver.com:5280 / websocket'失败:连接建立错误:net :: ERR_CONNECTION_CLOSED
我的ejabberd版本是15.10,它应该支持websocket。
我将不胜感激。
答案 0 :(得分:1)
虽然您已为certfile
指定了ejabberd_http
选项,但这还不足以激活加密(使用wss://
而非ws://
请求)。您还需要指定tls
选项:
hosts:
- "myserver.com"
listen:
-
port: 5280
module: ejabberd_http
certfile: "/Applications/ejabberd-15.10/conf/myserver.pem"
request_handlers:
"/websocket": ejabberd_http_ws
web_admin: true
http_bind: true
captcha: false
tls: true
答案 1 :(得分:1)
问题是chrome和Safari。我不确定为什么,但客户端应用程序与Mozilla Firefox完美配合,但无法通过Safari或Chrome连接。这可能是一个安全设置。 无论如何,切换到mozilla解决了我的问题。