1 minute read

forward proxy, reverse proxy 에 대해 공부하고 사용하는 이유, 차이점에 대해서 설명

proxy

proxy 는 쉽게 대리 입니다. 무언가를 대신 해주는 녀석입니다.

프록시는 종류도 여러가지입니다. 저희가 주로 쓰는 spring 에도 spring proxy 가 있고, proxy 패턴도 있고 network proxy 가 있습니다. 제가 이번에 설명할 건 Network Proxy 가 되겠습니다!

network proxy는..

클라이언트와 서버 사이에서 대리해주는 녀석입니다. 다운로드 (1)

network proxy 에는 두가지 방법으로 나뉘어집니다.

  • Forward Prxoy
  • Reverse Proxy

Forward Proxy

forward proxy 는 포워드 프록시 서버가 요청을 받아서 example.com 에 연결하여 그 결과를 클라이언트에 전달(Forward) 해줍니다

  • Forward Proxy 는 캐싱을 해줘서 속도가 빠릅니다
  • server 가 응답받은 요청을 누가 했는 지 모르게 익명성도 보장합니다.

캐싱 : 요청에 대한 응답 데이터를 proxy 에서 기억해두었다가 클라이언트가 똑같은 요청을 했을 때 서버에 다시 물어보지않고 저장해뒀던 응답값을 내보내줍니다.

image2014-7-16+0_54_40

캐싱 덕에 정해진 사이트만 연결하게 설정하는 등 웹 사용 환경을 제한할수 있으므로 기업 환경등에서 많이 사용합니다.

Reverse Proxy

클라이언트가 example.com 웹 서비스에 데이터를 요청하면 Reverse Proxy는 이 요청을 받아서 내부 서버에서 데이타를 받은후에 이 데이타를 클라이언트에 전달하게 됩니다.

내부 서버가 직접 서비스를 제공해도 되지만 이렇게 구성하는 이유중 하나는 보안때문입니다. WAS 는 보통 DB 서버와 연결되므로 WAS 가 최전방에 있으면 WAS 가 털릴 경우 DB 서버까지 같이 털리는 심각한 문제가 발생할 수 있습니다.

  • Reverse Proxy 는 캐싱을 해줘서 속도가 빠릅니다
  • Client 는 Reverse Proxy 를 실제 서버라고 알고있게해서 보안성을 높여줍니다.

reverse

Road Balancing

Road Balancing 은 쉽게 부하분산입니다. 하나의 서버가 할 일은 여러 서버가 나누어서 처리하는 것입니다.

25510C495909245F21

왜요? 왜 나누는 거에요?

  • 서버의 과부하를 막기 위해서 입니다. 적은 작업과 요청은 하나의 서버가 처리하기엔 비용도 적고 속도도 빠르겠지만 시간이 지날 수록 무거워지는 작업량과 많아지는 요청량에 하나의 서버는 버틸 수 없을 것입니다.

22209E4C590922150D

이 친구가 어떻게 일하는지 궁금해요

결론

  • Forward Proxy 는 캐싱덕에 속도가 아주 빠르다
  • Reverse Proxy 는 보안이 아주 강합니다.
  • Road Balancing 은 서버 과부하를 막기위해 작업과 요청을 여러 서버에서 처리한다.

Categories:

Updated: