반응형
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);
}
})
반응형
'nodejs' 카테고리의 다른 글
nodejs -- https, http 서버 만들기 (0) | 2021.01.01 |
---|---|
nodejs -- res.header 설정 (0) | 2020.12.26 |
nodejs -- Express 기초 (0) | 2016.05.13 |
nodejs -- npm 최신 버전으로 변경하기, 옵션 (0) | 2016.05.12 |
nodejs -- Formidable 사용하여 multiple file upload 하기 (0) | 2016.03.21 |