【问题标题】:expressJS 4.x + vhost + SSL/HTTPSexpressJS 4.x + 虚拟主机 + SSL/HTTPS
【发布时间】:2016-11-29 04:17:07
【问题描述】:

我对 SSL 不太熟悉,所以我想知道我缺少什么来连接 vhost + expressjs 以及 ssl。我的代码适用于 virtualhost+ expressjs 但不适用于 https。 端口肯定是开放的。

var options = {
  key: fs.readFileSync("ca.key"),
  cert: fs.readFileSync("ca.crt")
}

var main = express();
if (!module.parent) main.use(logger('dev'));

main.get('/', function(req, res){
  // DO SOMETHING
});


var app = module.exports = express();
app.use(vhost('myappblahbblah.com', main));

var server = https.createServer(options, app);
server.listen(443);

【问题讨论】:

  • 您看到的错误信息是什么?
  • 我没有看到任何错误消息。 chrome只说响应时间太长了。我知道它正在侦听,因为如果我有 listen(port, function() {console.log("listening")})
  • 您是否尝试过在应用程序中记录任何内容以尝试查看其进展情况?
  • 我为监听功能打印了控制台,它确实打印出来了,所以我猜整个代码已经运行了。

标签: node.js ssl express https virtualhost


【解决方案1】:

使用server.addContext(hostname, context),在tls模块中显示,而https.Server继承自tls.Server

如果您不知道如何实际实现它,我编写了一个非常小的包vhttps 为您完成了工作。查看其README.md,了解如何将其与vhostexpress 一起使用。

【讨论】:

    猜你喜欢
    • 2016-03-19
    • 2013-11-19
    • 2015-03-24
    • 1970-01-01
    • 2017-09-22
    • 2012-01-09
    • 2010-09-05
    • 2013-05-02
    • 2011-01-31
    相关资源
    最近更新 更多