이것이 점프 투 공작소

프록시(Proxy)에 대해 알아보자 본문

해킹,보안

프록시(Proxy)에 대해 알아보자

겅겅겅 2023. 8. 3. 22:08

프록시란?

클라이언트와 서버간에 일종의 중계서버이다.

그렇기에 HTTP 프록시 서버는 웹 서버이기도 하고 웹 클라이언트이기도 합니다.

즉 클라이언트 입장에서는 서버처럼 서버입장에서는 클라이언트처럼 느껴집니다.

 

프록시를 사용하는 이유

프록시 서버는 모든 HTTP 트래픽을 확인하고 조작 할 수 있기에 

접근제어, 방화벽의 역할을 할 수도 있고, 캐시를 이용한 성능 개선, 라우터의 역할 또한 가능합니다.

기본적으로 각 요청을 프록시를 통해 목적지로 전달되기에 일종의 NAT의 개념을 가지게됩니다.

 

포워드 프록시와 리버스 프록시

1. 포워드 프록시

클라이언트와 인터넷 사이에 존재하는 프록시입니다.

모든 클라이언트의 요청이 포워드 프록시 서버에서 필터링이 가능하기에 특정 사용자의 서버 접근을 차단하는 등의 서버에 적절한 요청이 전달되도록 조작이 가능합니다.

2. 리버스 프록시

인터넷과 서버 사이에 존재하는 프록시입니다.

리버스 프록시는 클라이언트가 요청한 실제 데이터가 있는 주소로 라우팅(로드 밸런싱)이 가능합니다.

 

프록시 캐시

프록시 서버의 캐시를 이용하면 Origin Server를 거칠 필요 없이 원하는 응답을 더 빠르게 받을 수 있고

서버의 부하 또한 낮출 수 있습니다.

특정한 클라이언트에 저장되어 사용가능한 캐시를 private cache,

모든 클라이언트가 공유 가능한 캐시를 public cache라고합니다.

HTTP 캐시

HTTP응답의 헤더를 확인해보면 Cache-Control에 private, public으로 캐시의 상태를 확인 할 수 있습니다.

max_age 값으로 캐시의 유효기간을 확인 가능합니다.

이 기간이 만료되면 해당 데이터가 필요할때 캐시된 데이터를 사용하지않고 다시 리소스를 요청하여 사용합니다.