使用nodejs将http重定向到https时出现ERR_CONNECTION_REFUSED

时间:2018-11-20 09:17:35

标签: node.js http https ssl-certificate

我正在尝试使用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);

0 个答案:

没有答案