Nginx 리버스 프록시 (백,프론트를 같은 포트(80포트)로 연결)

dgh03207·2022년 5월 18일
0

배포

목록 보기
4/4
post-thumbnail

Nginx

Nginx 리버스프록시 적용

프록시는 두 PC가 통신할때, 대리로 통신하는 것을 프록시 중계 역할을 하는 주체를 프록시 서버라고 부른다.

역할에 따라 포워드 프록시 리버스 프록시 라고 부른다.

포워드 프록시 의 경우 캐싱, IP 우회, 제한(사내 망) 등의 역할을 한다.

리버스 프록시 는 애플리케이션 서버의 앞에 위치하여 클라이언트가 서버를 요청할때, 리버스프록시가 중간 다리 역할을 해주는 것이다. 클라이언트는 애플리케이션 서버에 직접 요청하는 것이 아니라, 프록시 서버를 통해 호출하여 서버를 감춰주게 된다.

역할로는 로드밸런싱, 보안이 가능하다.

리버스 프록시는 사용자가 도메인.com 으로 요청했을때, 요청 분기에 맞도록 Front,Back 요청을 처리하는 것이다.

Front에서 Back에 API 요청을 보낸다고 가정하자

도메인.com:8081/api/v1/Americano

Front에서 Get요청으로 위와같은 요청을 보낸다고 했을때, 기존에 우리는 정확히 보낼 포트를 명시하여 요청해 준다. 하지만 리버스 프록시 요청을 통해 포트를 숨겨 요청할 수 있다.

도메인.com/api/v1/Americano

리버스 프록시를 적용하면, 프론트에서 API 요청을 보낼때 이렇게 보낼 수 있다.

Q. 포트가 없으면 어떤 포트로 보낼지 어떻게 알아?

A. /api 를 분기로 해서, 붙은 요청은 8081포트로 보내겠다고 설정하면 됨!

이처럼, 어떤 분기처리를 해주어서 우리가 서버내부에서 어떤 요청을 어떤 포트로 처리할지 분기처리를 해주면된다.

그러면 이제부터 분기처리를 해보자.

내도메인.com 이라는 서버에서 백엔드 요청은 /api 로 구분을 해주었다.

이제, /api 가붙은 요청에 대해서는 백엔드 요청을 해주고,

그외의 요청은 프론트 포트로 요청해주는 리버스 프록시 설정은 이게 끝이다.

server{
	server_name 내도메인.com;
	
	location /api {
		proxy_pass http://내도메인.com:8081;
	}
	location / {
		proxy_pass http://내도메인.com:3000;
	}
}

Reference

profile
같이 공부하자!

1개의 댓글

comment-user-thumbnail
2023년 11월 28일

지만 쳐 알아먹게 써놨노 그럴거면 메모장에다가 쳐쓰셈

답글 달기