websocket wss报错

新手上路,请多包涵

问题描述

websocket使用wss发送请求时,报failed: Error in connection establishment: net::ERR_CERT_COMMON_NAME_INVALID错误

问题出现的环境背景及自己尝试过哪些方法

html5页面使用websocket时,报了net::ERR_CERT_COMMON_NAME_INVALID错误,尝试修改nginx的location配置,增加如下配置还是不行

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

截图如下
image.png

相关代码

粘贴代码文本(请勿用截图)

        var ws = new WebSocket('wss://192.168.74.177:2355/');

        ws.onopen = function () {
            //发送参数
            var param = {"appId": "xx","appName": "xx","action": "getTokenByAppInfo"};
            // 使用 send() 方法发送数据
            ws.send(JSON.stringify(param));
            console.log('CONNECT');
        };
        ws.onclose = function () {
            console.log('DISCONNECT');
        };
        ws.onmessage = function (event) {
            console.log('MESSAGE: ' + event.data);
            var res = JSON.parse(event.data);
            console.log(res.stateCode);
            console.log(res.token);
            if(res.stateCode != '001'){
                alert("{$Think.lang.10452}!");
            }else{
                userTokenSubmit(res.token,'32712f2c-4f3e-4264-8aa6-eaa5f308f4d7','name01');
            }

        };

你期待的结果是什么?实际看到的错误信息又是什么?

期待正确发送请求,实际看到错误如下
image.png

阅读 8.1k
4 个回答

https 的证书不对wss://192.168.74.177:2355/ 你这只有ip,咋搞得证书?

没证书用 http 和 ws 呗

搞个自签名证书,再整个域名,在整个服务器,代价有点大了。
实在不行就用ws就行了。

新手上路,请多包涵

网站配置的有ssl,https访问的,所以还是要使用wss

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题