Proxy 개념
카테고리: CS
무중단 배포를 구축하기전 proxy에 대해 알고 넘어가야할것같아 정리해본다.
1. proxy server?
구글에 검색하니 위키에 이렇게 나온다.
프록시 서버(proxy server)는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 가리켜 ‘프록시’, 그 중계 기능을 하는 것을 프록시 서버라고 부른다. 위키백과 링크
프록시 서버는 보안성과 성능,안정성을 향샹시킬수 있다는 장점이 있다.
프록시 서버는 크게 포워드 프록시 서버(forward proxy server)와 리버스 프록시 서버(reverse proxy server)가 있다.
2. forward proxy server?
기본적으로 알고 있는 프록시 서버는 포워드 프록시 서버 이다.
클라이언트가 서버로 요청하면 중간에 포워드 포록시 서버가 중간에서 요청을 가로채어 서버로 다시보내고,
서버에서 받은 응답은 다시 포워드 프록시 서버를 거쳐서 클라이언트에게 간다.
클라이언트에서 서버로 바로 보내면 될껄 왜 포워드 프록시 서버를 거쳐서 보내는껄까?
일단 기업이나 정부는 해당기관에 속한 사람들의 제한적인 인터넷 사용을 위해 방화벽을 사용한다.
포워드 프록시 서버는 이런 제한을 위해 사용한다. 방문하고자 하는 웹사이트를 직접적으로 접근하는 것을 방지한다.
예를 들어, 포워드 프록시 서버에 룰을 추구해 특정 사이트 접근 불가를 시킬수있다.
추가적으로 포워드 프록시 서버를 사용하면 유저식별이 어렵다. IP를 역추적해도 프록시 서버만 보이기 때문이다.
3. reverse proxy server?
위 사진을 다시 보고오자. 포워드 프록시 서버는 클라이언트 앞에 있지만 리버스 프록시 서버는 웹서버 앞에 있다.
리버스 프록시 서버는 언제 사용하는걸까?
로드 밸런싱(load balancing)에 사용한다. 우리가 쓰는 포털인 네이버를 생각해보자
2022년 6월 네이버의 MAU(월간활성이용자)는 한달 기준 4013만명이 사용했다고한다. 30일로 쪼갠다면 일 133.7만명이 접속한 셈이다.
이런 대량의 트래픽을 싱글서버로 이용한다면 터지는것뿐만 아니라 소멸했을것이다.
그치만 리버스 프록시 서버를 이용하여 여러개의 서버를 앞에 둔다면 로드밸런싱이 가능하여 서버가 과부화 되지않게 할수있다.
추가 장점
- 리버스 프록시 서버를 이용하면 본래 서버의 IP를 노출시킬 필요가 없다. 그러므로 DDos 공격을 막는데 탁월하다.
그치만 CDN(콘텐츠 전송 네트워크)기술을 이용한 리버스 프록시 서버 공격의 타겟이 될수는 있다고한다. - SSL 암호화의 좋다. 리버스 프록시 서버를 사용하면 들어오는 요청으 전부 복호화 하고 나가는 응답을 암호화 해주므로 클라이언트와
안전한 통신을 할수 있으며 서버의 부담을 줄여준다.
4. forward proxy, reverse proxy 비교
위에서 언급했지만 포워드 프록시 서버, 리버스 프록시 서버 사진을 보면 프록시 서버의 위치가 다르다.
포워드 프록시 서버는 클라이언트와 직접 통신하는 웹서버가 없고,
리버스 프록시 서버는 웹서버와 직접 통신하는 클라이언트가 없다.
댓글남기기