0. 프록시란?

 

간단히 말해서 "중계 서버"입니다.

 

클라이언트와 서버간 통신을 직접하지 않고 중계 서버인 프록시 서버를 사용하여 보안, 트래픽 분산 등의 여러 장점을 가질 수 있습니다.

또한 포록시 서버는 서버로 요청된 내용을 캐시 해 놓고 동일한 요청시 바로 응답을 주도록 설정할 수도 있어서 시간과 리소스 사용을 절약할 수 있습니다.

 

1. Reverse Proxy (리버스 프록시)

1. 정보

클라이언트 (USER)가 인터넷에 데이터를 요청 -> 리버스 프로시가 요청을 받음 -> 내부 서버에 데이터를 요청하고 리버스 프록시가 데이터를 받음 -> 클라이언트에게 전달함

 

클라이언트는 내부 서버에 대한 정보를 알 필요 없이 리버스 프록시에게 요청만 함.

 

클라이언트가 요청하는 End Point가 프록시 서버의 도메인이고 실제 서버의 정보는 알 수 없음.

 

2. 장점

내부 서버에 대한 설정으로 로드 밸런싱(Load Balancing)이나 서버 확장 등에 유리함

 

서버가 감춰짐 -> 실제 서버의 정보를 알수가 없음 -> 보안 Good

 

웹서버가 해킹당해도 웹 서버 권한으로는 내부망으로 연결이 불가함

 

 

2. Foward Proxy (포워드 프록시)

1. 정보

클라이언트 (USER)가 프록시 서버에 요청을 함 -> 프록시 서버가 인터넷에 요청을 보냄 -> 인터넷이 내부 서버에 데이터를 요청하고 데이터를 받음 -> 클라이언트에게 전달함

 

클라이언트가 요청하는 End Point가 실제 서버 도메인이고 프록시는 둘 사이의 통신을 담당해줌

 

2. 장점

프록시 서버는 Cache를 사용하여 자주 사용하는 데이터는  요청을 보내지 않고 캐시에서 가져올 수 있어서 속도가 빠름

 

정해진 사이트만 연결하게 설정하는 등 웹 사용 환경을 제한 할 수 있으므로 기업 내부 환경 등에서 많이 사용

 

클라이언트가 감춰짐 -> 서버는 포워드 프록시 서버를 통해서 요청을 받아서 클라이언트의 정보를 알 수 없음

 

 

3. 정리

 

망 내에서 외부로의 서비스 이용 -> 포워드 프록시

망 밖에서 내부로의 서비스 이용 -> 리버스 프록시

 

프록시 서버를 사용하면 HTTPS의 인증서 관리를 하나의 프로시 서버가 담당하고 뒤에 동작하고 있는 서버는 HTTP로 서비스 할 수 도 있어서 인증서 관리에 용이함

 


사진 출처 : https://www.imperva.com/

참조 :

https://bcp0109.tistory.com/194

https://sb.pe.kr/7371

https://firework-ham.tistory.com/23

 

 

'개발합시다. > BackEnd 공부' 카테고리의 다른 글

SSH란  (0) 2021.07.08
로드밸런싱(Load Balancing)  (0) 2021.07.07
HTTP와 HTTPS란?  (0) 2021.07.07
Django client ip address 얻기  (0) 2021.07.07
Django - Redis 세션 & 쿠키 & 캐시 정리  (0) 2021.07.07

+ Recent posts