Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 带有HTTPS的套接字IO和节点给出错误net::ERR_unsecure_响应_Node.js_Laravel_Express_Socket.io_Node Modules - Fatal编程技术网

Node.js 带有HTTPS的套接字IO和节点给出错误net::ERR_unsecure_响应

Node.js 带有HTTPS的套接字IO和节点给出错误net::ERR_unsecure_响应,node.js,laravel,express,socket.io,node-modules,Node.js,Laravel,Express,Socket.io,Node Modules,我正在将Socket IO与Node和Laravel集成 我已经完成了事件的侦听,但是当我将代码移动到HTTPS服务器时,出现了问题 随后显示错误消息: 得到 net::错误\u不安全\u响应 我在谷歌上搜索了很多解决方案,做出了所有可能的改变,但没有一个对我有用 以下是我的服务器端代码: //socket.js var https = require('https'); var io = require('socket.io')(https); var fs = require('fs');

我正在将Socket IO与Node和Laravel集成

我已经完成了事件的侦听,但是当我将代码移动到HTTPS服务器时,出现了问题

随后显示错误消息:

得到 net::错误\u不安全\u响应

我在谷歌上搜索了很多解决方案,做出了所有可能的改变,但没有一个对我有用

以下是我的服务器端代码:

//socket.js

var https = require('https');

var io = require('socket.io')(https);
var fs = require('fs');

var Redis = require('ioredis');
var app = require('express')();

var redis = new Redis();

redis.subscribe('chatMessage');

var options = {
  ca: fs.readFileSync('./public/The_CA_bundle.pem'),
  key: fs.readFileSync('./public/mazau.key'),
  cert: fs.readFileSync('./public/mazau.cert'),
};

redis.on('message', function (channel, message) {
    console.log(channel + ' ' + message);
  });

https.createServer(options, app).listen(3002, '205.186.144.231');
console.log('Server running at 205.186.144.231:3002/');
在客户端,我完成了以下代码: //客户端

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Socket</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script src="{{ asset('my_socket.js') }}"></script>
</head>
<body>
    <script>
        var socket = io('https://205.186.144.231:3002');    
    </script>
</body>
</html>

插座
变量套接字=io('https://205.186.144.231:3002');    
我通过键入节点套接字运行服务器

我不知道我错过了什么。至少需要一个人帮忙。 谢谢


我也经历过同样的问题。下面我将介绍解决我的问题的步骤:

var app = require('express')();
var fs = require('fs');
var https = require('https');

var hskey = fs.readFileSync('certs/pri.key');
var hscert = fs.readFileSync('certs/cert.crt');
var ca = fs.readFileSync('certs/ca.crt');

var credentials = {
    ca:ca,
    key: hskey,
    cert: hscert,
    requestCert: false,
    rejectUnauthorized: false
};

var http = https.createServer(credentials,app);
在您的情况下,请检查密钥和证书文件的路径是否正确。在我的例子中,我创建了一个服务器js文件所在的文件夹,并将证书、密钥和ca文件放在其中

然后在客户端,尝试提供域名而不是ip地址,如

var socket = io("https://www.yourdomain.com:3002", {secure: true});
重新启动节点服务器并进行检查