Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/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 带SSL的socket.io每分钟断开一次连接_Node.js_Ssl_Socket.io_Connection - Fatal编程技术网

Node.js 带SSL的socket.io每分钟断开一次连接

Node.js 带SSL的socket.io每分钟断开一次连接,node.js,ssl,socket.io,connection,Node.js,Ssl,Socket.io,Connection,我不知道我能做什么。我的问题是: 自连接通过SSL以来,客户端每分钟都会断开连接 [09 Jul 2015][20:00:25] connection EOrQcfqqnEygUYgzAAAA [09 Jul 2015][20:01:40] disconnect EOrQcfqqnEygUYgzAAAA [09 Jul 2015][20:01:42] connection GHbO2jV7itWPDqh2AAAB [09 Jul 2015][20:02:32] disconnect GHbO2j

我不知道我能做什么。我的问题是:

自连接通过SSL以来,客户端每分钟都会断开连接

[09 Jul 2015][20:00:25] connection EOrQcfqqnEygUYgzAAAA
[09 Jul 2015][20:01:40] disconnect EOrQcfqqnEygUYgzAAAA
[09 Jul 2015][20:01:42] connection GHbO2jV7itWPDqh2AAAB
[09 Jul 2015][20:02:32] disconnect GHbO2jV7itWPDqh2AAAB
[09 Jul 2015][20:02:33] connection FlixPZ5C4qqRBDJsAAAC
[09 Jul 2015][20:03:49] disconnect FlixPZ5C4qqRBDJsAAAC
[09 Jul 2015][20:03:50] connection G5nIaL4KAYYvJ-b9AAAD
[09 Jul 2015][20:05:30] disconnect G5nIaL4KAYYvJ-b9AAAD
...
这种情况总是发生(非活动和活动),也在使用连接时发生,因此客户端将请求发送到服务器,然后服务器断开连接,服务器无法向客户端响应结果

我的服务器:

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

var ssl_options = {
    key: fs.readFileSync('/etc/ssl/private/domain.com.key'),
    cert: fs.readFileSync('/etc/ssl/certs/domain.com.crt'),
    ca: fs.readFileSync('/etc/ssl/certs/companyssl.intermediate.crt')
};

var server = require('https').createServer(ssl_options, app);
var port = process.env.PORT || 443;

var io = require('socket.io')(server);

server.listen(port, function(err) {
    console.log('HTTPS-Server on port ' + port);
});

io.on('connection', function(socket){
    // [...]
});
客户:

<html>
    <head>
        <script src="https://domain.com/socket.io/socket.io.js"></script>
        <script>
            $(function(){
                var socket = io('https://domain.com:443', {
                    path: '/socket.io'
                });
            });
        </script>
    </head>
    <body>
        ...
    </body>
</html>

$(函数(){
变量套接字=io('https://domain.com:443', {
路径:'/socket.io'
});
});
...
有人有主意吗

谢谢大家!


(socket.io版本:1.2.1)

而且,这仅在使用SSL时发生?如果禁用SSL,问题就会消失?您的示例在我的测试环境中正常工作/您是否有另一个web服务器、节点和客户端?Nginx?有一个Apache服务器在端口80上运行,我不得不为它禁用SSL。可能我尝试将服务器端口从443切换到其他端口。我在端口3000上进行了测试,客户端不再断开连接,现在我在端口443上运行服务器并关闭apache服务器:不再断开连接,可能启用了支持ssl的修改?