使用与默认端口不同的端口重定向到https

时间:2015-07-11 21:15:44

标签: node.js

以下是node.js中的示例:

var https = require("https");
var fs = require("fs");
var options = {
    key: fs.readFileSync("/tmp/key.pem"),
    cert: fs.readFileSync("/tmp/cert.pem")
};

https.createServer(options, function(req, res) {
    res.end("secure!");
}).listen(4430);

var http = require("http");
http.createServer(function(req,res) {
    console.log(req);
    res.writeHead(301, {"location": "https://" + req.headers["host"] + req.url});
    res.end("not secure!");
}).listen(8001);

它会将http://localhost:8001重定向到https://localhost:8001,问题是https服务器正在侦听4430.我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

好的,只需要一点点字符串操作。而不是req.headers["host"],请使用req.headers["host"].split(":")[0]