node.js socket io https

时间:2018-06-04 09:06:20

标签: node.js https socket.io

我试图建立一个WebSocket(带有node.js / socket.io) HTTPS协议。但是客户端仍然继续进行轮询并且无法找到服务器,尽管服务器看起来很好并且听了。

这是我到目前为止所做的。你能看到它有什么问题吗?

我的假设是我使用的证书有些不对。我用plesk加密服务器"让我们加密"从这个程序拿出证书是对的吗?

----服务器端----

var fs      = require('fs');
var express = require('/opt/plesk/node/7/bin/node_modules/express');
var https   = require('https');
var app     = express();

var server  = https.createServer({
    key:  fs.readFileSync('file.pem'),
    cert: fs.readFileSync('file.crt')
},app);

var io = require('/opt/plesk/node/7/bin/node_modules/socket.io').listen(server);

server.listen(8080);

----客户端-----

var socket = io('/', {rejectUnauthorized: false, secure:true});

这是客户不断给我的东西:
https://foo.de:8080/socket.io/?EIO=3&transport=polling&t=MF9zjE6

1 个答案:

答案 0 :(得分:0)

由于您没有告诉您收到的错误消息,因此很难确定您的问题。也许您应该尝试让套接字工作,然后尝试实现https。

也许你应该尝试简化它。

服务器:

var express         = require('express')
var app             = express()
var server          = require('http').Server(app)
var io              = require('socket.io')(server)

server.listen(8080);

客户端:

var socket = io();

这段代码应该创建您的套接字和您的快速应用程序。然后你可以尝试将http更改为https,它应该可以正常工作。