【问题标题】:using https with express io使用 https 和 express io
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-03
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    相关资源
    最近更新 更多