SSL与express.js有问题

时间:2013-09-13 05:55:12

标签: node.js ssl express

我正在尝试将ssl证书添加到我的节点服务器,但我的网页继续加载http而不是https。我想知道是否有人可以指出我正确的方向。有点拉我的头发大声笑。以下是一些重要代码的片段:

var options = {
  key: fs.readFileSync('/home/ec2-user/key.pem'),
  cert: fs.readFileSync('/home/ec2-user/cert.pem'),
  ca: fs.readFileSync('/home/ec2-user/ca.pem'),
};

var app = express();
app.set('root', __dirname);

https.createServer(options, app);
app.listen(APP_PORT, APP_HOST);

// Listener endpoint; handled in middleware
app.get('/listen', function(){});

1 个答案:

答案 0 :(得分:4)

您正在设置Express应用程序而不是HTTPS服务器。请改用:

var https = require('https');
var express = require('express');
var app = express();

var options = {
  key: fs.readFileSync('/home/ec2-user/key.pem'),
  cert: fs.readFileSync('/home/ec2-user/cert.pem'),
  ca: fs.readFileSync('/home/ec2-user/ca.pem')
};

app.set('root', __dirname);
app.get('/listen', function(req, res) {
  // respond here
});

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

如果您的计算机上没有多个地址,则无需为应用程序指定IP。