使用https与express io

问题描述:

所以我是新来表达和io,但我有一个服务器运行良好的webRTC,但现在有一个弃用的方法在webRTC只运行在https上,所以我试图创建一个https服务器,但它启动然后立即退出。我无法弄清楚什么是错误的,我没有得到任何错误。此外,我正在使用aws ec2来运行express io服务器。也许有人可以发现我的语法/实现中哪里会出错。使用https与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.' 
    }) 
}) 

更新

我把赏金因为我希望有人为我提供关于设置生产服务器的完整答案。

+0

那么我改变了端口号为4000,如果我的侦听语法出现问题或者在端口443上侦听时它工作得很好idk – sebenalern

+0

'0到1023'是OS服务的保留端口,您不能使用端口是背后的原因 – uzaif

+0

是的,但我运行在一个活的服务器上,所以我怎么能部署我的webapp到端口443? – sebenalern

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

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