Proxy

Evie·2024년 11월 26일
post-thumbnail

프록시

프록시 서버, 혹은 프록시라는 말을 많이들 들어보셨을 것이라 생각합니다.
프록시 Proxy는 영어로 "대리"라는 뜻을 갖고 있습니다. 정말 정직하게도, IT에서의 프록시 역시 비슷한 의미인데요.

프록시는 클라이언트가 다른 네트워크에 간접적으로 접속 가능하게 하는 일종의 중계기입니다.
다른 네트워크에 접속하는 행위는 프록시, 접속하는 것은 프록시 서버라고 보면 되겠습니다.

프록시를 사용하는 이유

현대로 올수록 데이터 통신의 특성 상 같은 데이터가 여러 번 오갈 때가 많습니다. 이 때 실제로 통신을 하는 것은 비효율적이죠. 프록시 서버에 캐싱을 해두면 같은 데이터가 빠르게, 서버에 부하 없이 오갈 수 있습니다.

프록시의 종류

프록시 서버는 중계기라고 말씀드렸는데, 이 중계기의 위치에 따라 프록시 종류가 나뉘게 됩니다.

Forward Proxy

우선 Forward Proxy의 경우, 로컬 네트워크에서 프록시가 요청을 받아 인터넷으로 넘기게 됩니다. 인터넷에서 애플리케이션으로 요청을 넘기고, 그걸 다시 받아와 프록시가 중계해주는 형식인데요.

이 방식은 클라이언트를 애플리케이션에게서 숨길 수 있고, 반대로 서버의 주소는 클라이언트에게 노출됩니다. 또한 요청을 프록시에서 제어할 수 있기 때문에 주로 중앙 제어가 필요한 공공기관 등의 네트워크에서 사용합니다.

Reverse Proxy

반대로 Reverse Proxy의 경우, 요청은 직접적으로 인터넷에 가게 됩니다. 인터넷에서 애플리케이션에 요청을 넘길 때 프록시가 대신 받고 로컬에 있는 애플리케이션에 넘기는 형식입니다.

Reverse Proxy를 사용할 경우 서버의 주소는 클라이언트에게 노출되지 않기 때문에 보안에 좋습니다. 또, 이 경우 인터넷에서 넘어온 요청을 프록시가 로드 밸런싱할 수 있습니다.

대부분의 ~는 Reverse Proxy를 사용합니다.

Forward Proxy VS Reverse Proxy

두 프록시 방법의 가장 큰 차이는 프록시 서버의 위치입니다.
그러나 그것을 우리가 체감하기는 힘드니까, 다른 차이점을 표를 통해 보도록 하겠습니다.

Forward ProxyReverse Proxy
클라이언트 - 프록시 서버 - 인터넷 - 서버구조도클라이언트 - 인터넷 - 프록시 서버 - 서버
클라이언트숨기는 대상서버
보안, 암호화특장점로드밸런싱, 부하 약화, 보안

마무리

Nginx를 공부하기에 앞서 프록시를 공부했는데, 처음에 두 프록시의 차이를 이해하기 정말 어려웠습니다.
하나하나 직접 찾아보며 이해하는 데에만 꼬박 하루가 걸렸어요.
그래도 이해를 어느 정도 하고 난 뒤부터는 진도가 빨라져서 다행이었습니다.

언제나처럼 틀린 내용은 댓글로 피드백주시면 수정하겠습니다. 감사합니다.

참고 자료

profile
끄적그적

0개의 댓글