在express io中使用https



所以我是expression和io的新手,但我有一个服务器可以运行webRTC,但现在webRTC中有一个不推荐使用的方法,它只在https上运行,所以我试图创建一个https服务器,但它启动了,然后立即退出。我搞不清楚哪里出了问题,也没有任何错误。此外,我正在使用aws ec2来运行express io服务器。也许有人能发现我的语法/实现哪里出了问题。

注意,我在过去的半个小时里一直在谷歌上搜索,无法找到它

这是代码:

var connect = require('connect');
    var https = require('https');
    var fs = require('fs');
var express = require('express.io');
var app = express();
//app.http().io();
var PORT = 443;
var options = {
 key: fs.readFileSync('../server.key'),
 cert: fs.readFileSync('../server.crt')
};
app.https(options).io();
//var app = https.createServer(options, app1);
console.log('server started on port ' + PORT);
app.use(express.static(__dirname + '/public'));
app.get('/', function(req, res){
    res.render('index.ejs');
});
app.listen(PORT);
app.io.route('ready', function(req) {
      req.io.join(req.data.chat_room);
      req.io.join(req.data.signal_room);
      app.io.room(req.data).broadcast('announce', {
            message: 'New client in the ' + req.data + ' room.'
    })
})

更新

我之所以悬赏,是因为我希望有人能为我提供一个关于为生产设置服务器的完整答案。

您需要为实例的安全组中的端口443添加一个规则。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html可能会有所帮助。

最新更新