나나나
[네트워크]포워드 프록시(forward proxy)와 리버스 프록시(reverse proxy) 본문
프록시 서버
클라이언트와 서버 사이에 있는 중계 서버
요청이 들어오면 프록시 서버는 요청을 가로채 해당 클라이언트를 대신하여 웹 서버와 통신한다.
포워드 프록시(Forward Proxy)
- 일반적인 프록시 사용법
- 클라이언트가 example.com에 연결하려고 하면 포워드 프록시 서버가 요청을 받아 example.com에 연결하여 그 결과를 전달(forward)함
- 브라우저가 웹 서버의 url로 정보를 요청하면 포워드 프록시 서버는 요청을 가로챔
- 프록시 서버가 브라우저를 대신하여 요청한 url에 해당하는 서버에게 요청을 보냄
- 서버에게 클라이언트가 누구인지 감추는 역할
- 사용 목적 및 장점
- 특정 컨텐츠 및 서비스에 대한 접근 차단 : 클라이언트 그룹이 특정 사이트에 접근하지 못하도록 프록시를 설정(학교 네트워크로 SNS접근 불가 등)
- 익명성 보장 : 서버는 포워드 프록시 서버의 IP를 받으므로 클라이언트가 누군지 알 수 없음
- 시간 절약 및 네트워크 병목 현상 방지 : 프록시에는 캐싱 기능이 있어, 가지고 있는 리소스에 대한 요청이 들어오면 바로 응답해줄 수 있음. 이로 인해 외부와의 트래픽을 줄일 수 있음
- 데이터 유출 보호 : 밖으로 나가는 콘텐츠를 프록시 서버에서 검사할 수 있음
- 접속 우회 : 지역별로 접속 제한이 있는 사이트는 IP를 검사해 접속 지역을 감지함. 프록시 서버를 사용하여 다른 나라로 우회할 수 있음(접근 가능한 서버 주소와 포트 설정)
리버스 프록시(Reverse Proxy)
- 클라이언트가 example.com에 데이터를 요청하면 리버스 프록시 서버는 이 요청에 따라 내부 서버에서 데이터를 받은 후 이를 클라이언트에게 전달함.
- 클라이언트에게 리버스 프록시는 실제 서버인 것처럼 보이며, 요청을 보내면 리버스 프록시 서버가 이를 가로챔.
- 프록시 서버는 url에 따라 다시 실제 서버에 요청하고 응답을 받으면 클라이언트에게 전달함
- 클라이언트에게 서버가 누구인지 감추는 역할
- 사용 목적 및 장점
- 로드밸런싱 : 서로 다른 서버로 요청을 분산시켜 단일 서버가 과부하되는 것을 방지함. 하나의 서버에 문제가 발생하면 다른 서버로 대체 가능
- 서버 공격(DDoS)으로부터의 보호 : 원본 서버의 IP 주소가 공개되지 않아 표적 공격에 활용할 수 없음
- 글로벌 서버로드 밸런싱(GSLB) : 클라이언트를 지리적으로 가장 가까운 서버로 보내 요청/응답간 이동 거리를 줄여 시간을 최소화
- 캐싱 : 동일
- SSL 암호화 : 원본 서버에서 각 클라이언트와의 통신을 암호화/복호화할 필요 없이 리버스 프록시에서 처리함.
포워드 프록시가 클라이언트 앞에서 특정 클라이언트와 원본 서버가 직접 통신하지 않도록 한다면, 리버스 프록시는 원본 서버 앞에서 클라이언트가 해당 서버와 직접 통신하지 않도록 함.
https://www.cloudflare.com/ko-kr/learning/cdn/glossary/reverse-proxy/
https://oxylabs.io/blog/reverse-proxy-vs-forward-proxy
'CS' 카테고리의 다른 글
[CS] 동기와 비동기 / 블로킹과 논블로킹 (0) | 2021.06.17 |
---|---|
[네트워크]Authentication과 Authorization (0) | 2021.06.10 |
[네트워크]웹서버와 WAS (0) | 2021.05.31 |
[네트워크]CORS (0) | 2021.05.26 |
[네트워크]HTTPS / 공개키와 대칭키 (0) | 2021.04.11 |