2881099 / FreeIM

.NETCore websocket 实现简易、高性能、集群即时通讯组件,支持点对点通讯、群聊通讯、上线下线事件消息等众多实用性功能.
MIT License
1.42k stars 418 forks source link

关于WSS的配置问题 #49

Closed li-zheng-hao closed 1 year ago

li-zheng-hao commented 1 year ago

目前已经把issue内关于wss配置的问题都看过一遍了,仍然出现如下问题(使用的是示例代码): image

似乎是websocket连接没有建立,发送消息无法接收到

修改的配置项包括:

  1. Webapi、ImServer添加app.UseHttpsRedirection();
  2. launchSettings.jsonhttp修改为https
  3. ImClient60行将ws修改为wss
li-zheng-hao commented 1 year ago

FreeIM-master.zip 这是修改后的代码

2881099 commented 1 year ago

wss 不能用ip访问,要用域名

并且浏览器跨域规则,必须是同域名,但是可以二级域名。

比如 webapi.baidu.com

imserver 服务器是 ws.baidu.com

li-zheng-hao commented 1 year ago

好的,明天有空我再修改试试

li-zheng-hao commented 1 year ago

暂时没空改,先关闭

li-zheng-hao commented 1 year ago

用域名配置完成后在chrome测试wss是正常的,在edge和360极速浏览器上测试连接不上,这个问题是浏览器的问题还是代码问题呢

image

测试代码如下:

FreeIM-master-https-wss.zip

li-zheng-hao commented 1 year ago

本地host添加配置:

127.0.0.1 sub.test.com
127.0.0.1 www.test.com  
2881099 commented 1 year ago

证书不安全,大概是这个原因,用真实的域名证书测试。

li-zheng-hao commented 1 year ago

有可能,暂时就不深究了

2881099 commented 1 year ago

安全策略,每种浏览器都不一样。