我正在尝试使用nodejs将http请求重定向到https。 到目前为止,这是我的代码。我已包含所有密钥,证书等。 http和https端口为ON(自定义端口,不是默认端口)
现在点击http时,站点确实重定向到了https,但它显示了err,如所附的屏幕快照所示。 screenshot。
证书有效(请参见屏幕截图的底部),但仍然显示此页面不安全。
请指导我哪里做错了以及可能的解决方法。
我已经在这里搜索,但无法找到解决方案。谢谢。
var fs = require('fs');
var http = require('http');
var http_port =any_port;
var app = require('express')();
// HTTPS definitions
var https = require('https');
var https_port =another_port;
var options = {
key: fs.readFileSync('example.key'),
cert:fs.readFileSync('example.crt'),
ca: fs.readFileSync('bundleexample.crt')
};
app.get('/', function (req, res) {
res.end('Hello https World!');
});
https.createServer(options, app).listen(https_port, function () {
console.log('https port ' + https_port);
});
// Redirect from http port to https
http.createServer(function (req, res) {
res.writeHead(301, { "Location": "https://" + req.headers['host'].replace(http_port,https_port) + req.url });
res.end();
}).listen(http_port);