73 Star 531 Fork 177

int2e / HPSocket.Net

 / 详情

websocket服务端HTML5页面无法连接

已完成
创建于  
2021-09-08 13:09

websocket服务端如果不加ssl通过ws://127.0.0.1:8800访问 演示客户端和html5(js)页面都可以正常连接和收发数据。

如果换成wss://127.0.0.1:8800,演示客户端可以正常连接和收发数据,但是html5(js)页面无法连接。

请问这是什么原因,需要如何解决

if (wss)
                    {
                        // wss请开启此设置, 设置ssl配置, 会自动初始化ssl环境
                        server.SslConfiguration = new SslConfiguration
                        {
                            // 不从内存加载证书
                            FromMemory = false,

                            // ssl证书配置, 支持单向验证
                            VerifyMode = SslVerifyMode.Peer,
                            CaPemCertFileOrPath = "ssl-cert\\ca.crt",
                            PemCertFile = "ssl-cert\\server.cer",
                            PemKeyFile = "ssl-cert\\server.key",
                            KeyPassword = "123456",
                        };
                    }
                    // 注册ws服务器, 未对path注册服务则无法访问
                    // 要注册的服务必须继承自HPSocket.WebSocket.IHub接口
                    // 注册欢迎服务, 客户端通过ws[s]://127.0.0.1:8800连接
                    server.AddHub<WelcomeHub>("/");

                    // 注册回显服务, 客户端通过ws[s]://127.0.0.1:8800/echo连接
                    server.AddHub<EchoHub>("/echo");

                    // 启动服务
                    server.Start();

                    await server.WaitAsync();这里输入代码

评论 (2)

Admin 创建了任务
Admin 关联仓库设置为int2e/HPSocket.Net
Admin 修改了描述
Admin 修改了描述
Admin 修改了描述
展开全部操作日志

换一下VerifyMode = SslVerifyMode.Peer,这句,参考下面连接
https://blog.csdn.net/u013919153/article/details/78616737

如果还不行, 就前置nginx, 反向代理到后端ws端口, 证书挂在nginx上, 具体请百度

1619307 int2e 1642066966 int2e 拥有者
回复 int2e 拥有者

如果是wss你应该使用域名的证书,而不是这种自建证书, 浏览器有处理, 你极有可能是怎么测试都过不去的, 举个例子
www.abc.com 的 wss 你就得用 www.abc.com的证书, 然后 浏览器也要访问www.abc.com 才能连接到wss, 这就是我上面为什么说让你用nginx做反向代理的原因, 如果两端都是exe程序, 不经过浏览器, 是没有这个问题的.

int2e 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
1619307 int2e 1642066966
C#
1
https://gitee.com/int2e/HPSocket.Net.git
git@gitee.com:int2e/HPSocket.Net.git
int2e
HPSocket.Net
HPSocket.Net

搜索帮助

344bd9b3 5694891 D2dac590 5694891