我使用有节点的快递和运行 https 和 http 。
我要要求所有 /security/ / code> 的路线都使用 https。
app.all("/secure/*", function(req, res, next) {
if (!req.connection.encrypted) {
res.redirect("https://" + req.headers["host"].replace(new RegExp(config.http_port, "g"), config.https_port) + req.url);
} else {
return next();
};
});
然而,我还要要求所有未使用 /security//code > 并试图访问https的所有路线都使用同样的方法改用http。
我试过这样做:
app.all("*", function(req, res, next) {
console.log(req);
if (req.connection.encrypted) {
res.redirect("http://" + req.headers["host"].replace(new RegExp(config.https_port, "g"), config.http_port) + req.url);
} else {
return next();
};
});
但当访问 https 页面时,我最终会陷入一个重定向循环。 除了有 < code>/ security/ / code > 的路径之外, 是否有办法指定所有路径?
谢谢!