무중단 배포를 위해 Nginx에 대해서 공부하다 보니

 

얼핏 들어서는 똑같은거 아닌가 싶은 개념들이 많이있었다

 

그중에서 프록시도 그랬다 그래서 프록시가 무엇인지

 

Forward Proxy와 Reverse Proxy의 차이가 무엇인지 알아보자

 

1. Proxy

프록시가 무엇인가 하면 '대리' 의 의미로

인터넷과 관련해서 쓰이는 경우 특히 내부 네트워크에서 인터넷 접속을 할때

빠른 액세스나 안전한 통신등을 확보하기 위한 중계서버를 프록시 서버라고 일컫는다

즉 클라이언트와 web서버의 중간에 위치하고 있어

대신 통신을 받아 주는 것이 프록시 서버인 것이다

 

정리하자면

프록시는 서버와 클라이언트 사이에 중계기로써 대리로 통신을 수행하는것

프록시 서버는 그 중계기능을 하는것

 

클라이언트와 서버 간 통신을 직접하지 않고 중계 서버인 프록시 서버를 이용하면

보안, 트래픽 분산 등 여러 장점을 가질 수 있도록 해주는 고마운 존재이다

 

또한 프록시 서버는 서버로 요청된 내용을 캐시 해 놓고 동일한 요청 시 바로 응답 해주도록

설정할 수 도 있어 시간과 리소스 사용을 절약할 수 있는 효과를 가져오기도 한다

 

2. Forward Proxy

 

일반적으로 프록시라고 하면 포워드 프록시이다

 

클라이언트가 서버로 요청할 때 직접 요청하지 않고 먼저 프록시 서버를 통해 요청하는 방식이다

 

이 방식은 회사 내부 인트라넷에서 인터넷상에 있는 서버에 요청할 때 먼저 프록시 서버를 호출하는

그러한 방식을 포워드 프록시라고 한다

 

서버에게 클라이언트가 누구인지 감추는 역할을 한다

서버가 응답받은 IP는 포워드 프록시 서버의 IP이기 때문에 클라이언트가 누군지 알 수 없다

 

3. Forward Proxy 의 장점

1) 캐시저장

프록시 서버에 캐시를 저장할 수 있다

동일한 페이지를 요청했을대에는 캐시에 남아있는 정보를 클라이언트에게 준다

이로 인해 사이트에 접속하는 속도가 빨라진다

 

2) URL 필터링

외부의 액세스는 프록시 서버를 경유하므로

사용자 전원의 외부 웹 사이트로의 액세스를 필터링 할 수 있다

 

4. Reverse Proxy

 

포워드 프록시와 달리 web 서버쪽에 위치하여 클라이언트의 접근을 최초로 받아

요청에 해당하는 web 서버에 배분해주는 역할을 한다

 

위 사진에서 보면 url에 따라 요청 받을 web 서버가 바뀌도록 설정해 두었다

 

이때 클라이언트의 입장에서 프록시 서버가 web 서버와 같은 동작을 하므로

web 서버가 여러개 존재하는것을 은폐할 수 있는 특징이 있다

 

5. Reverse Proxy 의 장점

1) 부담 분산

설정으로 정적 콘텐츠와 동적 콘텐츠의 보는 곳을 나눔으로써

메모리 사용량의 효율화를 할 수 있다

로드밸런스와 병용하면 더욱 부담을 분산할 수 있다

 

2) 캐시저장

포워트 프록시와 동일하게 동일한 데이터를 얻을 때에 프록시 서버가 저장했던 내용을 돌려준다

 

3) 시큐리티 대책, 바이러스 대책

통신시 프록시 서버에 집약되므로 프록시 서버 내에 시큐리티 대책, 바이러스 대책을 구현해

web 서버로의 부정 액세스 사용등을 방지할 수 있다