这是我的 工作代码,用于 express 4.0。
express 4.0 与 3.0 和其他版本非常不同。
4.0 你有 /bin/www 文件,你要在这里添加 https。
“npm start”是启动 express 4.0 服务器的标准方式。
readFileSync() 函数应该使用 __dirname 获取当前目录
而 require() 使用 ./ 引用当前目录。
首先将 private.key 和 public.cert 文件放在 /bin 文件夹下,
它与 WWW 文件位于同一文件夹。
找不到这样的目录错误:
key: fs.readFileSync('../private.key'),
cert: fs.readFileSync('../public.cert')
错误,找不到这样的目录
key: fs.readFileSync('./private.key'),
cert: fs.readFileSync('./public.cert')
工作代码应该是
key: fs.readFileSync(__dirname + '/private.key', 'utf8'),
cert: fs.readFileSync(__dirname + '/public.cert', 'utf8')
完整的 https 代码是:
const https = require('https');
const fs = require('fs');
// readFileSync function must use __dirname get current directory
// require use ./ refer to current directory.
const options = {
key: fs.readFileSync(__dirname + '/private.key', 'utf8'),
cert: fs.readFileSync(__dirname + '/public.cert', 'utf8')
};
// Create HTTPs server.
var server = https.createServer(options, app);