-
프록시 서버란?MSA & 쿠버네티스(Kubernetes) - k8s 2022. 3. 13. 23:20
프록시 서버란?
단순히 캐시 같은 기능을 하는 서버..?라고만 알고 있었기 때문에 확실하게 정리해보고자 합니다.
Proxy라는 단어의 뜻은 무엇일까요?
'대리' 라는 의미를 가집니다.
네트워크 기술에서는 프락시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킵니다.
간단히 말하자면 프록시 서버는 클라이언트와 서버 사이의 중개인(대리인)으로써 클라이언트의 모든 HTTP 요청을 받아 서버로 전달합니다.
Alice와 Bob이 직접 통신하면 될 텐데 왜 프락시 서버를 사용할까요?
1. 캐시 데이터를 사용하기 위해
프록시 서버 중 일부는 프록시 서버에 요청된 내용을 캐시를 사용해 저장해둡니다.
그러면 캐시에 저장되어 있는 내용에 대한 재요청은 서버에 따로 접속할 필요가 없이 저장된 내용을 그대로 돌려주면 되기 때문에 전송 시간을 절약할 수 있고 외부 트래픽을 줄임으로써 네트워크 병목 현상도 방지할 수 있습니다.
2. 보안 목적을 위해
프록시 서버를 중간에 경유하게 되면 IP를 숨기는 것이 가능하기 때문입니다.
따라서 프록시 서버를 방화벽으로 사용하기도 합니다.
만약 프록시 서버 없이 클라이언트가 네이버의 서버에 요청을 한다면 나의 IP주소도 전달됩니다.
하지만 프록시 서버를 경우 하게 된다면 네이버의 서버는 나의 IP가 아니라 프록시 서버의 IP를 보게 됩니다.
3. 접속 우회를 위해
만약 한국에서 접속이 제한이 되는 사이트가 존재한다면 프록시 서버를 사용하여 접속을 다른 나라로 우회할 수 있습니다.
따라서 프록시 서버를 통해 다른 나라에서 접속한 것처럼 속일 수 있기 때문에 접속 제한을 우회할 수 있습니다.
하지만 프록시 서버에는 주소가 남아있으니 추적을 거듭하면 클라이언트를 알아낼 수도 있습니다.
하지만 여러 국가의 컴퓨터에 접속해서 우회한다면 나라마다 정보 보호법이 달라서 서버의 정보를 공개하지 않을 수 있기 때문에 추적하기 힘들 수 있습니다.
4. 로그 기록 관리
프록시 서버를 경우 하면 서버에게 개인정보가 보호되지만 프록시 서버에는 클라이언트의 기록이 남아있습니다.
이 기록들을 통해 어떤 IP에서 어디에 얼마나 오래 접속했는지 기록을 확인할 수 있습니다.
또 프록시 서버가 방문할 수 있는 웹사이트를 제한할 수 있습니다.
프록시 서버의 관리자는 클라이언트가 어떤 사이트로 접속하는지 알 수 있고, 특정 사이트를 이용할 수 없도록 할 수 있습니다.
Foward Proxy
클라이언트와 인터넷 서버 사이에 존재
캐싱 기능을 제공하여 성능 향상을 위해 사용되며, 정해진 사이트에만 연결 가능하도록 설정할 수 있습니다.
서버는 포워드 프록시 서버를 통해 요청을 받기 때문에 클라이언트의 정보를 알 수 없습니다.
Reverse Proxy
실제 서버의 정보가 감춰지기 때문에 보안을 위해 사용됩니다.
내부 서버에 대한 설정으로 로드 밸런싱이나 서버 확장 등에 유리합니다.
출처
https://liveyourit.tistory.com/251
https://cheershennah.tistory.com/139
'MSA & 쿠버네티스(Kubernetes) - k8s' 카테고리의 다른 글
Message System이란? (0) 2022.03.18 서비스 메시(Service Mesh)란? + API Gateway와 차이점 (0) 2022.03.17 API 게이트웨이(Gateway)란? (0) 2022.03.14 MSA 아키텍쳐란? (0) 2022.03.05 쿠버네티스(Kubernetes,k8s)란? (0) 2022.03.02