Web客户端配置

这里讲一下Web/小程序客户端的配置和背景知识。因为web和小程序都是同样的接口,下面只说web的情况,小程序也是一样的。

1. Web客户端的一些基础知识

Web客户端与IM服务的交互有2部分,一部分是HTTP的访问,是做类似于服务发现的功能,访问任意一个IM服务的HTTP端口,得到自己的长连接信息;另一部分是Websocket的长连接,这个长连接会固定连接到它被分配的服务节点,长连接建立后所有的IM业务都是通过长连接进行。

浏览器有个特性,如果部署在HTTPS站点,那么这两个交互都必须是SSL/TLS的。如果部署在HTTP站点,那么这两个交互可以是SSL/TLS也可以不是。

在Web客户端的配置文件config.js中,有个USE_WSS开关。这个开关是告诉协议栈这两种请求是走SSL/TLS的,还是非SSL/TLS的。只能同时开启或同时关闭,没有办法一个走SSL/TLS,另外一个不走SSL/TLS。

根据浏览器的特性,如果部署在HTTPS站点,那么USE_WSS一定要为true,那么IM服务一定要提供HTTPS和WSS的支持。

如果需要使用音视频通话,根据WebRTC的安全性要求,只有本地和HTTPS才可以使用WebRTC。因此如果有音视频通话要求,则必须使用SSL/TLS。

一般情况下,只有部分单位内外网隔离的才不用SSL/TLS,其他客户都需要使用SSL/TLS。

2. IM服务开启对web客户端的支持

默认IM服务默认没有开启对Web客户端的支持,关于开启的说明,请服务端同事参考专业版IM服务部署文档和IM服务Web配置

3. IM服务能力支持检查

在web客户端开始工作之前需要先确认IM服务是否对开启了web客户端的支持。首先确认是否要支持SSL/TLS,

检查有2步,第一步是检查HTTP(S)是否正常,第二步是检查WS(S)是否正常。下面分成支持SSL/TLS和不支持SSL/TLS两种情况。

3.1. 不支持SSL/TLS的情况

  1. 检查HTTP功能:在浏览器中输入 http://{授权地址}/api/version 看一下是否能够返回IM服务的JSON信息。
  2. 检查WS功能:向服务器同事要一下这几个信息:部署了几个节点及每个节点配置的server.ipwebsocket_port,然后通过这个在线工具验证WS是否成功配置。

    如果Websocket检查失败,请让服务同事确认端口websocket_port是否打开。

3.2. 支持SSL/TLS的情况

  1. 检查HTTPS功能:在浏览器中输入 https://{授权地址}:{https端口}/api/version 看一下是否能够返回IM服务的JSON信息。
  2. 检查WSS功能:向服务器同事要一下这几个信息:部署了几个节点及每个节点配置的server.ipsecure_websocket_port,然后通过这个在线工具验证WSS是否成功配置。

    如果Websocket检查失败,请让服务同事确认端口secure_websocket_port是否打开,及证书是否正确配置。

3.3. WS(S)在线工具的使用

可以通过在线工具验证WS(S)是否支持,打开以后界面如下: ws_verify 服务地址分三部分。第一个是schema,如果不支持SSL/TLS,就应该是ws,如果支持就应该是wss;第二部分就是地址,注意这个地址是IM服务配置文件中的server.ip的地址,不是授权地址;第三部分是端口,也在IM服务配置文件中,如果是SSL/TLS,端口为secure_websocket_port,如果不是,端口为websocket_port

填写服务地址后,点开启连接,查看调试消息,如图上:初始化完成OPENED就说明服务支持了WS(S)功能。等到几秒中后,IM服务会断开连接,这时正常的。

4. 应用服务

如果要是支持HTTPS站点,应用服务也需要HTTPS的支持,联系负责服务端的同事,对应用服务提供HTTPS支持。

5. 最终配置

如果要支持HTTPS站点,参考配置如下

static USE_WSS = true;

//HTTPS端口,如果使用其他端口请注意修改
static ROUTE_PORT = 443;

//应用服务HTTPS地址,请改为您的应用服务HTTPS的地址。
static APP_SERVER = 'https://app.wildfirechat.net';

如果要不支持HTTPS站点,参考配置如下

static USE_WSS = false;

//HTTP端口
static ROUTE_PORT = 80;

//应用服务HTTP地址,请改为您的应用服务HTTP的地址。
static APP_SERVER = 'http://wildfirechat.net:8888';
2018 © wildfirechat.net 京ICP备18060403号-1 all right reserved,powered by Gitbook该文件修订时间: 2022-11-29 10:45:01

results matching ""

    No results matching ""