본문 바로가기
CS/Network

[Network] Proxy & Gateway

by 0xe82de 2022. 8. 20.
반응형

HTTP프록시(Proxy) 또는 게이트웨이(Gateway)를 통해 통신을 중계하거나 서버를 연계할 수 있습니다. 이를 통해 요청을 받은 서버가 다른 서버에 요청을 중계할 수 있고, 해당 서버로부터 받은 응답을 클라이언트로 전달할 수 있습니다.

프록시(Proxy)

프록시는 클라이언트와 서버 사이에 대리로 통신을 수행하는 것을 말하며, 이러한 프록시를 수행하는 서버를 프록시 서버라고 합니다.

프록시 사용을 통해 얻을 수 있는 이점은 다음과 같습니다.

  • 캐시를 통한 리소스에 대한 빠른 접근
  • 특정 리소스에 대한 접근 차단
  • 클라이언트 또는 서버 정보 숨김 처리
  • 모니터링
  • 보안성 향상

프록시는 용도에 따라 다음과 같이 구분할 수 있습니다.

용도 설명
캐싱 프록시 이전 요청에 대한 응답 데이터를 보관합니다. 동일한 요청이 들어오면 보관해둔 응답 데이터를 반환합니다. 이를 통해 높은 트래픽을 효율적으로 처리할 수 있습니다. 또한 동일한 요청을 서버에 전달하지 않으므로 통신 비용이 절감됩니다.
포워드 프록시 클라이언트의 요청을 프록시 서버가 받고, 다른 서버로 요청을 재전달합니다. 이때 다른 서버는 클라이언트의 정보를 알 수 없습니다.
리버스 프록시 포워드 프록시와 동일하게 클라이언트의 요청을 프록시 서버가 받고, 다른 서버로 재전달합니다. 포워드 프록시와 다른 점은 클라이언트가 다른 서버의 정보를 알 수 없습니다.

참고

리버스 프록시 예시

Nginx로 리버스 프록시 기능을 사용할 수 있습니다. 다음은 프록시 서버에서 실행되는 Nginx의 설정 파일입니다.

server {
    listen 80;

    location /api {
        proxy_pass  http://application-server/api;
    }
}

위 설정을 통해 클라이언트가 특정 서비스를 요청할 때 프록시 서버가 해당 요청을 전달 받고 다른 서버로 재전달합니다. 이를 통해 요청에 대한 처리를 수행하는 서버의 정보(http://application-server/api)를 클라이언트에게 감출 수 있습니다.

 

반응형

 

게이트웨이(Gateway)

게이트웨이는 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 네트워크 포인트입니다.

image

예를 들어, HTTP 요청에 대한 응답을 하기 위해 FTP 통신이 필요한 경우 게이트웨이가 HTTP 요청을 FTP로 변환하고 다른 서버로 FTP 요청을 보냅니다. 그리고 FTP 요청에 대한 응답을 HTTP 응답으로 변환하여 클라이언트로 전달합니다.

즉, 게이트웨이는 서로 다른 통신 프로토콜을 적절히 변환해주는 역할을 합니다.

반응형

'CS > Network' 카테고리의 다른 글

[Network] HTTP 메시지  (0) 2022.08.13

댓글