본문 바로가기
기타/ㅅㅂ일상

Node JS, Express : IP주소로 접근 시 도메인 주소로 변경. Redirect IP to Domain

by 이승보 2021. 8. 2.
728x90

AWS를 통해서 도메인 라우팅도 끝냈고, SSL도 달아주었다.

http://domain.com => https://domain.com 
https://domain.com => https://domain.com 
http://0.0.0.0 => http://0.0.0.0
https://0.0.0.0 => ERR_CONNECTION_REFUSED

도메인으로 접속을 하면 https로 잘 연결이 되는데, IP로 접근을 하면 https 로 연결이 안된다.
https://0.0.0.0 자체가 안먹는거 같은 느낌인데, 이건 어떻게 해결을 해야 될 지 도저히 모르겠음....
고민에 고민을 하다가 server 쪽 코드자체에서 들어오는 모든 URL에 대해서 IP주소 -> 도메인으로 변경을 해주면 될 꺼 같았고
결과적으로는 성공!

처음에는 app.all("*") 을 사용했는데, 그럴 경우에는 타임아웃으로 연결이 안되어서 app.use("/")로 연결해주었음.

//IP주소로 접근 시, 도메인으로 변경해주는 코드
app.use("/", (req, res, next) => {
  let hostName = req.hostname;
  let addUrl = req.originalUrl;
  if (hostName !== "0.0.0.0") {
    next();
  } else {
    console.log("redirect ip to domain and url is :", addUrl);
    res.redirect(`https://domain.com${addUrl}`);
  }
});

 

https://stackoverflow.com/questions/14125997/difference-between-app-all-and-app-use

 

Difference between app.all('*') and app.use('/')

Is there a useful difference between app.all('*', ... ) and app.use('/', ...) in Node.JS Express?

stackoverflow.com

 

728x90
반응형

댓글