nodejs
nodejs -- http -> https 변환 ( redirect )
자유프로그램
2021. 1. 2. 10:44
반응형
nodejs -- http -> https 변환 ( redirect )
환경 : 네이버 클라우드 플랫폼 무료 서버, Ubuntu 18.04 LTS, noce.js v14.15.3
http 로 접속하면, https 주소로 redirect 시키자
http -- 80 포트 사용
https -- 443 포트 사용
** Express 에서, http & https 를 구별하는 법 3가지
(1) req.secure
(2) req.protocol
(3) req.headers['X-Forwarded-Proto']
** 방법 1. -- req.protocol 또는 req.headers["X-Forwarded-Proto"] 이용
app.get("*", (req, res, next) => {
console.log("middleware sercure app2 ==> " + req.headers['X-Forwarded-Proto']);
console.log("req.protocol == " + req.protocol);
let protocol = req.headers['X-Forwarded-Proto'] || req.protocol;
console.log("protocol == " + protocol);
if(protocol == 'http'){
let to = "https://" + req.headers.host + req.url;
console.log("to ==> " + to);
return res.redirect(to);
}
next();
})
** 방법2. -- req.secure 이용
app.get("*", (req, res, next) => {
console.log("req.secure == " + req.secure);
if(req.secure){
// --- https
next();
}else{
// -- http
let to = "https://" + req.headers.host + req.url;
console.log("to ==> " + to);
return res.redirect("https://" + req.headers.host + req.url);
}
})
반응형