chap04에는 nginx가 두 곳에 보인다

chap04를 보면 nginx 설정이 두 군데 있다.

처음 보면 둘 다 요청을 넘겨 주는 것처럼 보여서 헷갈릴 수 있다.

하지만 맡은 위치가 다르다.

frontend nginx는 브라우저와 가장 가까운 앞단이다.

gateway nginx는 백엔드 서비스들을 나누어 연결하는 내부 진입점이다.

image.png

frontend nginx는 화면과 브라우저 기준 경로를 맡는다

브라우저는 먼저 frontend에 접근한다.

frontend nginx는 정적 HTML 파일을 내려 주고, 브라우저에서 발생하는 API 요청을 gateway로 넘긴다.

예를 들어 화면에서 아래 요청이 발생한다고 생각해 보자.

/api/orders
/api/ws/orders
/login

브라우저는 이 요청들을 같은 출처로 보내는 것처럼 다룬다.

frontend nginx는 이 요청들을 gateway로 프록시한다.

이 덕분에 브라우저 입장에서는 화면과 API가 하나의 진입점에서 동작하는 것처럼 보인다.

gateway nginx는 백엔드 서비스를 나눈다

gateway nginx는 백엔드 서비스 라우팅을 맡는다.

예를 들면 아래와 같다.