4

我正在尝试将 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(){});
4

1 回答 1

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。

于 2013-09-13T06:07:22.103 回答