proxy server

newhyork·2022년 4월 23일
0

proxy server


  • 클라이언트와 서버 구조의 중간에 위치하여,
    클라이언트의 요청이나 서버의 응답을 중계/대리한다.
  • forward냐 reverse냐에 따라, 역할면에서 클라이언트가 되기도 하고 서버가 되기도 한다.
    • forward: 클라이언트 <---> proxy server <---> 인터넷 <---> 서버 [클라이언트]
    • reverse: 클라이언트 <---> 인터넷 <---> proxy server <---> 서버 [서버]
  • caching, load balancing, 보안 등을 위해 사용한다.

forward proxy server


  • caching
    • 클라이언트의 요청이 서버까지 도달하지 않고,
      서버의 응답을 proxy server에서 caching한 것으로 응답한다.
  • 보안
    • 클라이언트가 요청을 proxy server를 통해 하기 때문에
      요청 IP주소는 proxy server의 값을 갖게 되어,
      서버는 요청에 대해 어떤 클라이언트인지 제대로 알 수 없다.
      즉, 클라이언트는 익명성을 갖게 되는 것이다.
      (목적지가 서버의 IP주소를 가리키는 것은 변함없다.)
    • 보안을 위해 기업의 사내망에서 주로 쓰이며, 클라이언트와 같은 내부망을 이루는 형태이다.

reverse proxy server


  • caching
    • 서버 측에서, 클라이언트로부터 자주 요청될만한 resource를 caching 해둘 수 있다.
  • 보안
    • 서버의 정보(port, resource 위치 등)을 클라이언트로부터 숨길 수 있다.
      클라이언트의 요청은 public IP주소에 따라 우선 reverse proxy server에 도달하고,
      이를 거쳐 port에 따라 서버로 전달되거나 정확한 resource 위치를 가리킨다.
  • load balancer 역할을 할 수 있다. (software)
  • SSL termination
    • 클라이언트와는 HTTPS, 서버와는 HTTP로 통신하도록 함으로써
      서버에서 복호화 하지 않으므로, 비즈니스 로직 처리에 대한 resource가 절감된다.

0개의 댓글