【发布时间】:2016-04-15 06:42:23
【问题描述】:
所以我是 express 和 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.'
})
})
更新
我为此悬赏,因为我希望有人为我提供有关设置服务器以进行生产的完整答案。
【问题讨论】:
-
好吧,我将端口号更改为 4000,如果我的侦听语法或侦听端口 443 有问题,它可以正常工作
-
0 to 1023是为操作系统服务保留的端口,您不能使用该端口,这是背后的原因 -
是的,但我在实时服务器上运行,所以如何将我的 webapp 部署到端口 443?
-
让服务器允许选择随机端口
-
在生产中使用这个
app.listen(process.env.PORT || 4730);
标签: javascript node.js express https socket.io