域名高可用

更新时间: 2024/03/14 18:45:30

SDK接入

在初始化参数中添加lbsBackupUrlsCustomer配置项,如:

const nimIns = NIM.getInstance({
  appKey: 'appKey'
  account: 'account',
  token: 'token',
  // ....其他初始化参数
  lbsBackupUrlsCustomer: ['https://lbs-address1', 'https://lbs-address2']
})

云信默认的lbs是 https://lbs.netease.im/lbs/webconf.jsp ,当该域名被劫持时,若有lbsBackupUrlsCustomer,则SDK会尝试从这些地址获取lbs内容,从而保证能够正常登录、使用云信IM。

**注意:**lbsBackupUrlsCustomer里的url无需包含查询参数,SDK会自动补充

整体流程

1、按上述方式在SDK中设置自定义的LBS代理服务地址

2、SDK自动在代理LBS地址后补充请求参数,然后向lbs代理服务发起请求,格式如:https://lbs-address1.com?k=45c6af3c98409b18a84451215d0bdd6e&id=user01&sv=170&pv=1&networkType=0 。问号后的内容全由SDK来补充。

3、LBS代理服务收到请求后,将请求和请求参数转发到云信LBS服务器。代理转发请求示例:https://lbs.netease.im/lbs/webconf?k=45c6af3c98409b18a84451215d0bdd6e&id=user01&sv=170&pv=1&networkType=0

4、云信LBS服务器处理请求,并返回类型为application/json的数据

5、LBS代理服务器收到云信的响应数据后,原样返回到客户端

6、客户端SDK收到内容后发起IM的连接和登录

lbs代理示意图

其中的LBS代理服务由客户自定义实现,没有技术栈限制,只需保证能正确代理到云信LBS即可(https://lbs.netease.im/lbs/webconf)

此文档是否对你有帮助?
有帮助
去反馈
  • SDK接入
  • 整体流程