구성도
[DNS의 활용]
Spring은 Datasource를 연결할 때 DB의 IP를 알 수 없어서 환경변수를 이용한다고 함.
환경변수는 말그대로 변수이므로 S_D_URL = 10.10.1.1로 들어가면 그것을 Spring이 참조하게 된다. 그 과정에서 DNS 레지스트리가 필요한 거라고 하심.
리버스 프록시 (Nginx)를 따로 둘것이다.
리버스 프록시는 모든 사용자 요청을 받아서 HTTP Header, HTTP Body 등을 받아서 처리한다.
리버스 프록시는 URL을 분석하여 / 로 요청오면 React로 보내주고, /api 로 요청이 들어오면 거부(Block) 하도록 구현할 것이다. 외부에서는 /api 를 사용하지 못하도록 하기 위함이다.
리버스 프록시는 /api로 요청이 오면 모두 block할 예정이지만 예외사항으로 React에서 들어오는 /api 요청은 Backend로 연결 시켜 주는 역할 까지 겸한다.
React에서는 /api/product 로 하는데 Spring에는 @RequestMapping이 /product 처럼 만들 예정이라서 /api/product로 오면 redirect하여 /api를 삭제하고 /product로 가도록 구현할 것이다. (왜 굳이 이렇게 하는지는 아직 모르겠다..)
'코딩이야기 > Docker' 카테고리의 다른 글
도커 입문 31강 - 도커컴포즈 React와 SpringDB포함 직접연결하기 (0) | 2024.07.22 |
---|---|
도커 입문 30강 - 도커컴포즈 Dockerfile로 빌드와 nginx실행 한번에 하기 (0) | 2024.07.21 |
도커 입문 29강 - 도커컴포즈 로컬에서 react build해서 도커nginx로 실행해보기 (0) | 2024.07.21 |
도커 입문 28강 - 도커컴포즈 Nginx로 html 실행해보기 (0) | 2024.07.21 |
[도커 입문 27강] 도커컴포즈 Spring 앱 만들어보기 (0) | 2024.07.21 |