pomelo原生支持wss,只需要配置好就可以了。现在微信小程序,小游戏和facebook小游戏都需要这个。
首先需要证书,我一般是在阿里去上申请证书的。
登录阿里云(www.net.cn),然后在右上角选择控制,进入域名管理。在域名管理里面,选择一个你要使用的域名(要求已备案)看详细信息。
如下图所示:
然后你输入一个二级子域名,申请免费证书,假定我们这里申请的二级域名是test,
然后等待不超10分钟,就好了,可以在证书控制台,查看并下载
下载后,会得到xxx.pem和xxx.key。对于不同的web服务器,需要不同证书名,请注意。对于pomelo服务器,用nginx的就可以。证书下载后,还需要配置域名解析。将test指向你的pomelo所在的服务器ip,就OK了。
下面是配置pomelo。如果你不知道怎么创建工程,可以看这个文章:
创建pomelo工程https://blog.csdn.net/zdhsoft/article/details/79366863
选择通讯协议的时候,请选择wss或ws(ws配置一下,就可以变成wss)
配置过程:
第一步:在app.js同级的目录下面,创建一个目录,将下载的xxx.key和xxx.pem复制到这个目录
第二步:打开app.js,找到所有有connectorConfig的配置,增加下面内容
app.set('connectorConfig', {
connector: pomelo.connectors.hybridconnector,
heartbeat: 3,
useDict: true,
//这个ssl就是增加的部分。
ssl: {
type: 'wss',
key: fs.readFileSync('./key/xxx.key'),
cert: fs.readFileSync('./key/xxx.pem')
},
useProtobuf: true
});
第三步:确认域名test是否正确,如果正确,就可以了。
备注:如果服务器是部署在内网,如192.168.1.99,在域名解析的时候,ip填内网ip地址就可以了。如果是在外网,则填外网地址。对于国内的访问,域名解析使用默认线路就可以了。对于国外,可以多增加test解析,线路使用google或必应就可以了。
完成后,在微信小游戏和小程序以及facebook小游戏都用wss成功连接成功。使用这个方法,就可以不需要用nginx做反向代理了。这里有一个使用反向代理的方法:https://github.com/yqf19930712/pomelo-wx-client,大家参考一下。