-
[HTTP 이해하기] 프락시(Proxy) 이해하기HTTP 이해하기 2022. 9. 1. 19:44반응형
Proxy는 클라이언트(브라우저)와 서버사이에 위치해 있는 작은 서버라고 생각하면 될것 같습니다. 많은 서비스들에서 nginx를 proxy 서버로 사용하고 있는데 nginx를 한번 실행해보면 어떤 뜻인지 이해가 될것 입니다. 참고로 제 글중에 nginx관련된 글들이 있는데 참고해보시면 좋을것 같습니다. https://bloodseeker.tistory.com/category/nginx
Proxy 서버는 설치 위치에 따라 forward proxy와 reverse proxy로 나뉠수 있습니다.
Forward(포워드) Proxy
Forward proxy는 사용자 device 앞에 설치된 proxy 서버를 말합니다.
출처: https://www.cloudflare.com/ko-kr/learning/cdn/glossary/reverse-proxy/ 여러가지 이유로 forward proxy 서버를 활용합니다.
- 학교 필터: 학생들이 게임 사이트, 유투브 등에 방문하지 못하도록 Proxy 서버를 설치할 수 있습니다. 학교 컴퓨터들은 해당 proxy를 통해서 외부 인터넷에 접근할 수 있기 때문에 proxy서버에서 유해 사이트들을 차단 할수 있습니다.
- 우회 목적: 학생들은 유투브에 접속하기 위하여 우회 proxy 서버를 이용할 수 있습니다. 학생들은 직접 유투브 사이트를 방문하는것이 아니라 proxy 서버를 통해서 사이트를 방문하기 때문에 필터 proxy를 우회할 수 있습니다. VPN을 사용하는것과 동일한것이죠. VPN과 proxy 차이는 하기 더보기를 참고하면 좋을것 같습니다.
- 정보 숨김: 자신의 정보를 숨기기 위하여 사용할 때도 있습니다. proxy 서버를 통해서 다른 사이트에 접속하면 해당 사이트에서 볼수 있는 정보는 proxy 서버 정보입니다(IP주소, 위치 등).
Foward proxy는 실제 설치해 보지는 못해서 그냥 설명들을 보고 이해만 했습니다. ㅎㅎ.
Reverse(리버스) Proxy
Reverse proxy는 하기와 같이 실제 서비스 앞에 존재하는 proxy 들을 말합니다.
출처: https://www.cloudflare.com/ko-kr/learning/cdn/glossary/reverse-proxy/ 현대 서비스들에서는 reverse proxy를 정말 많이 사용합니다. 저희 서비스도 실제 서비스 서버까지 3개 proxy 서버를 거치게 됩니다.
reverse proxy 서버를 이용하는 이유는 다음과 같은것들이 있습니다.
- 로드 밸런싱: nginx와 같은 proxy 서버들은 로드 밸런싱을 설정할 수 있습니다. 현대 웹서비스들은 한개 컴퓨터로만 서비스를 하는것이 아니라 여러개 컴퓨터에서 서비스를 합니다. 로드 밸런싱은 요청이 많을 때 설정한 값에 따라 서로다른 device에 요청을 분산하는 기능을 말합니다. nginx 로드 밸런싱 예제를 보면 바로 이해할수 있을것입니다.
- ssl(tls) 기능 구현: https 지원하는 웹 서비스들은 ssl(tls)를 proxy에 구현합니다. 사용자들은 https 보안 연결을 proxy와 하게되고 proxy부터 실제 서비스 서버까지는 내부 망에서 http로 통신하는 것입니다. 저희 회사 서비스들도 거의 이렇게 동작하고 있습니다. ssl(tls)를 구현한 proxy를 관린하는 팀이 따로 있고 저희가 신규 서비스를 생성할 때면 그쪽에 요청합니다. 그리고 실제 서비스 개발 시에는 http로 통신하는것으로 구현하고 있습니다.
- 공격에서 보호: reverse proxy를 사용함으로서 실제 서버 IP는 외부에 노출되지 않습니다. 또한 어뷰징 요청에 대해서 실 서비스까지 오기전에 proxy 서버에서 규칙을 추가해서 막을수도 있습니다.
- caching 기능: reverse proxy에 자주 요청하는 결과를 caching해서 더 빠른 서비스를 제공할 수 있고 실 서버의 부하를 낮출수도 있습니다.
- 트래픽 모니터링: reverse proxy서버의 log를 수집하여 ELK Stack 같은 tool로 트래픽 모니터링 시스템을 구축할 수도 있습니다.
- 콘텐츠 라우터: proxy 서버는 인터넷 트래픽 조건과 콘텐츠의 종류에 따라 요청을 특정 웹 서버로 유도하는 콘텐츠 라우터로 동작할 수도 있습니다. 플스5 서비스를 예로 들면 "에센셜" 등급은 "월간게임"에만 접근하게 하고, "스페셜"은 "게임 카탈로그"도 접근할 수 있고, "디럭스"는 "클래식 카탈로그"에 접근하게 구현할 수 있습니다(proxy로 실제 구현됬는지는 모릅니다. 이렇게도 가능하다는 것입니다).
참고:
https://www.cloudflare.com/ko-kr/learning/cdn/glossary/reverse-proxy/
What is a reverse proxy? | Proxy servers explained
A reverse proxy protects web servers from attacks and can provide performance and reliability benefits. Learn more about forward and reverse proxies.
www.cloudflare.com
http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788966261208
HTTP 완벽 가이드 - 교보문고
웹은 어떻게 동작하는가 | 웹 세상을 떠받치고 있는 HTTP에 대한 모든 것모든 성공적인 웹 트랜잭션 뒤에는, 웹 클라이언트와 서버가 문서와 정보를 교환하는 언어인 HTTP가 있다. HTTP는, 회사 인트
www.kyobobook.co.kr
반응형'HTTP 이해하기' 카테고리의 다른 글
[HTTP 이해하기] Cache(캐시) (0) 2022.09.02 [HTTP 이해하기] TCP / IP 프로토콜 및 TCP 커넥션 관련 (0) 2022.09.01 [HTTP 이해하기] HTTP 메시지 (0) 2022.02.24