无法使用websocket通过Kaiwa聊天客户端连接到ejabberd

时间:2016-02-18 19:46:13

标签: websocket xmpp ejabberd

我无法通过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。

我将不胜感激。

2 个答案:

答案 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解决了我的问题。