kyle-server/packages/ingress-reverse-proxy at main · kyle-park-io/kyle-server

⇒ 아래 내용에 해당하는 코드들은 깃허브에 모두 공개되어있으니 코드를 잘 참고하도록 하자!

여러 개의 서버들을 한 도메인에 연결하기

jungho.dev 서버는 나의 개인 프로젝트들을 업로드하기 위해 구축한 사이트이다. 이 서버를 처음 만들 때 고려한 큰 가지 중 하나는 여러 개의 개인 프로젝트들을 어떻게 효율적으로 사이트에 올릴 것인지에 대한 것이었다.

  1. 하나의 서버에 모든 프로젝트를 업로드
  2. 각각의 서버를 별도로 두기

1안은 서로 다른 성격의 코드들이 한 서버에 몰리게 되어 관리가 복잡해질 수 있었다. 그래서 자연스럽게 2안을 구현하게 되었다. 2안에서 가장 요지가 되는 부분은 서버로 들어온 요청들을 적절하게 분산(분배)해주는 핸들러 코드이다.

서버에 들어오는 요청들을 크게 3가지로 나눌 수 있다.

  1. Asset (favicon, robots, sitemap … 등)
  2. Static (프론트 코드, 이미지 등 정적 데이터)
  3. API

해당 요청들을 적절하게 분기 처리 해주는 핸들러를 구현하면 된다!

내가 블록체인 개발자이다 보니 (물론 웹 개발자도 성격에 따라 이런 작업에 직접 참여하거나 안하거나 나뉘긴 하지만) 웹 백엔드 쪽을 직접적으로 다루지는 않았다보니 얼핏 알고 있던 내용이나 궁금했던 내용들을 직접 로그로 확인할 수 있으니 참 좋은 경험이 되었던 구현이다.