본문 바로가기

웹 개발

프록시

Proxy

img

클라이언트가 자신을 통해서 다른 네트워크에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템 혹은 응용프로그램을 말함

클라이언트와 서버 사이에서 중계기 역할로 대신 통신을 수행하는 것을 프록시라고 말한다.

목적

  • 익명으로 컴퓨터를 유지하기 위해
  • 보안 및 통제를 뚫고 나가기 위해
  • 역으로 IP 추적을 당하지 않기 위해
  • 사용률을 기록하고 검사하기 위해
  • 지역 제한을 우회하기 위해
  • 밖으로 나가는 컨텐츠를 검사하기 위해
  • 악성 코드를 목적으로 전달된 컨텐츠를 검사하기 위해
  • 캐시를 이용하여 리소스로의 접근을 빠르게 하기 위해
  • 웹 프록시는 웹 페이지를 캐시로 저장하는데 흔히 쓰임

공개 프록시

누구나 자유롭게 접속하여 사용할 수 있는 프록시 서버를 말함

공개 프록시 이용시 자신의 IP 주소를 남기지 않고 익명으로 활동하기 쉬움

때문에 악성 코드, 바이러스 유포 등 불법 행동에 악용되기 쉬워서 많은 프로그램은 공개 프록시를 검출하여 사용을 금지하는 방법을 사용

리버스 프록시

img

일반 프록시와 같이 클라이언트를 대신해서 서버로부터 리소스를 추출 하고, 이후에 클라이언트에게 마치 웹 서버 자체에게 받은 것처럼 해당 클라이언트로 반환한다.

포워드 프록시는 관련 클라이언트들을 위해 임의의 서버에 접속하는 중간 매개체이지만

리버스 프록시는 관련 서버들을 위해 임의의 클라이언트가 해당 서버에 접속하는 중간 매개체이다.

프록시 역할

  • 중계 기능 : 사용자를 대신하여 서버에 접근
  • 캐시 기능 : 자주 요구된 정보에 대한 일시적 저장, 빠른 응답, 병목 트래픽 및 대역폭 감소
  • 보안 기능 : 실제 사용자의 위치를 감춤
  • 방화벽으로 활용 : 잘 설정된 프록시는 효율을 향상시키고 좋은 방화벽이 됨
  • IP 주소 절약 : 외부 네트워크에 접속되는 유일한 장비로, 이 서버에서만 유일한 공인 IP 주소 필요
  • 부적절한 사이트 접근 방지

'웹 개발' 카테고리의 다른 글

XSS  (0) 2021.03.14
MyBatis TypeHandler  (0) 2021.03.14
정적 코드 분석, Static Code Analysis  (0) 2020.09.23
복수 배열 독립 디스크(Redundant Array of Independent Disks, RAID)  (0) 2020.07.10
자바스크립트 - 콜 스택  (0) 2020.01.02