使用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.'
})
})
更新
我把赏金因为我希望有人为我提供关于设置生产服务器的完整答案。
答
您需要在您的实例的安全组中添加端口443的规则。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html可能会有所帮助。
那么我改变了端口号为4000,如果我的侦听语法出现问题或者在端口443上侦听时它工作得很好idk – sebenalern
'0到1023'是OS服务的保留端口,您不能使用端口是背后的原因 – uzaif
是的,但我运行在一个活的服务器上,所以我怎么能部署我的webapp到端口443? – sebenalern