默认
发表评论 7
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已解决] MobileIMSDK-Web版的服务器端能支持https请求吗?
如题,本来网站用HTTP访问时通信正常。但由于网络劫持太严重了,不得以改成HTTPS访问网站了,但在HTTPS请求下通过socket.io连接http下的WAP服务器端直接被浏览器给block了。

想问一下WAP版能支持了https请求吗?

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:MobileIMSDK
上一篇:[已回复] MobileIMSDK有没有C++的客户端开发指南下一篇:[已回复] 求教MobileIMSDK的UDP传输过程中头部的大小
推荐方案
评论 7
当然能了,这跟SDK层的代码无关,你自已配置一下Nodejs服务端就好了。

因为你的主站已经使用了https,那么浏览器会要求之后连接的所有连接都应该是https或者wss(wss是指安全的websocket)。

MobileIMSDK-Web版开启SSL/TLS举例如下:

第一步:nodejs开启https、wss的设置(不明白的百度一下就好了,这跟MobileIMSDK无关):
[已解决] MobileIMSDK-Web版的服务器端能支持https请求吗?_111.png

第二步:MobileIMSDK-Web的浏览器端只需要开启此参数为true(默认是false,表示不开启wss://协议):
[已解决] MobileIMSDK-Web版的服务器端能支持https请求吗?_2222.png
引用:JackJiang 发表于 2017-07-10 15:57
当然能了,这跟SDK层的代码无关,你自已配置一下Nodejs服务端就好了。

因为你的主站已经使用了https,那 ...

好的,多谢了。
请问下,一般的nodejs可以既配置一个http端口比如3000,又可以配置一个https端口比如3001。
咱们这个webim是不是要么用http要么用https。
源代码有一句
var server = http.createServer(app);  server又是跟sdk相关的。所以确认下,如果要开启https,是不是把这个地方的http替换为https?

即:
var http = require('https'),
    fs = require("fs");
var options = {
    key: fs.readFileSync('../j_conf/privatekey.pem'),
    cert: fs.readFileSync('../j_conf/certificate.pem')
};var server = http.createServer(options,app);
签名: 试试看签到6个字
引用:963536541 发表于 2020-12-09 18:27
请问下,一般的nodejs可以既配置一个http端口比如3000,又可以配置一个https端口比如3001。
咱们这个webim ...

MobileIMSDK-Web的开发者手册你没有看是吧,你看手册里的这一节,很简单(http和https是2选一):
[已解决] MobileIMSDK-Web版的服务器端能支持https请求吗?_QQ截图20201209190618.png
你好,我按步骤做了,但是点击登陆后,web后台提示如下:(是不是要下载新版本还是?)
[2020-12-15 16:23:49.421] [ERROR] console - { Error: write EPROTO 30792:error:14
08F10B:SSL routines:ssl3_get_record:wrong version number:c:\ws\deps\openssl\open
ssl\ssl\record\ssl3_record.c:252:

    at WriteWrap.afterWrite [as oncomplete] (net.js:779:14) errno: 'EPROTO', cod
e: 'EPROTO', syscall: 'write' }
签名: 试试看签到6个字
服务器端改成了:
var options = {
    key: fs.readFileSync('../j_conf/privatekey.pem'),
    cert: fs.readFileSync('../j_conf/certificate.pem')
};
var server = http.createServer(options,app);

客户端js改成了 :
IMSDK.loginImpl(loginInfo, IM_SERVER_URL, true);
签名: 试试看签到6个字
引用:963536541 发表于 2020-12-15 16:30
你好,我按步骤做了,但是点击登陆后,web后台提示如下:(是不是要下载新版本还是?)
[2020-12-15 16:23 ...

代码本身应该没有问题,其它人也都是这么用的,我自已的产口和项目里也一直是这样用,有可能是你的库版本或证书有什么问题。

你这样,可以先把sdk的代码放一点,就用一个最简单的nodejs hello word代码,用你的证书,看看https能不能成功,代码和证书都验证成功后,就放到sdk里去用。

另外,你这个错误信息,我百度了一下“nodejs SSL routines:ssl3_get_record:wrong version number”,应该是证书有问题:http://blog.sina.com.cn/s/blog_5921e4020101at3x.html

你自已也可以百度一下,看看资料
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部