4

ノード サーバーに ssl 証明書を追加しようとしていますが、Web ページが引き続き https ではなく http で読み込まれます。誰かが私を正しい方向に向けることができるかどうか疑問に思っていました。髪を引っ張るみたいな笑。いくつかの重要なコードのスニペットを次に示します。

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

HTTPS サーバーの代わりにリッスンするように Express アプリケーションを設定しています。代わりにこれを使用してください:

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 に答える