ノードでexpressjsを使用し、httpsとhttpの両方を実行しています。
/secure/*
すべてのルートで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();
};
});
/secure/*
ただし、 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 ページにアクセスすると、リダイレクト ループに陥ります。を除くすべてのルートを指定する方法はあります/secure/*
か?
ありがとうございました!