프록시(Proxy)
프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터나 응용 프로그램을 가리킨다.
프록시의 종류
프록시에는 Forward Proxy와 Reverse Proxy가 있는데 그 차이는 아래와 같다.
Forward Proxy
포워드 프록시는 클라이언트 앞에, 인터넷의 전에 있다. 내부망에 있는 클라이언트가 서버에 접근하고자 할때, 클라이언트는 타겟 서버의 주소를 포워드 프록시에 전달하여, 포워드 프록시가 인터넷으로 요청된 내용을 가져오는 방식이다.
예를 들어 우리가 naver.com 을 요청하면 포워드 프록시 서버가 naver.com 리소스를 대신 받아와 클라이언트에게 내밀어준다(forward)고 생각하면 된다.
흔히 말하는 프록시 서버는 포워드 프록시 서버를 말한다고 한다.
내부망의 개념이 헷갈린다면 아래를 참고하도록 하자.
https://wouldyou.tistory.com/130
포워드 프록시를 왜 사용할까?
클라이언트 보안
포워드 프록시는 방화벽과 같은 역할을 한다. 해당 기관에 속한 사람들이 그들이 방문하고자 하는 웹사이트에 직접적으로 방문하는 것을 방지할 수 있다. 예를 들어 프록시 서버에 룰을 추가해서 특정 사이트에 접속하는 것을 막을 수 있다.
캐싱
클라이언트가 페이지에 접근하면 해당 정보를 프록시 서버에 캐싱해두었다가 또 같은 요청이 오면 캐싱된 정보를 반환한다. 이러한 방식으로 서버의 부하를 줄일 수 있다.
암호화
클라이언트의 요청은 포워드 프록시 서버를 통과할 때 암호화된다.
암호화된 요청은 다른 서버를 통과할 때 필요한 최소한의 정보만 갖게 되는데, 이는 클라이언트의 IP를 감춰주는 보안 효과를 내준다. IP를 추적해도 포워드 프록시 서버 IP만 보이기 때문에 실제 IP를 파악하기 어렵다.
Reverse Proxy
리버스 프록시는 프록시 서버가 웹서버/WAS앞에 있다. 클라이언트는 인터넷을 통해 요청하는데, 이 요청을 실제 서버가 아닌 프록시 서버가 받는다. 그리고 이 프록시 서버가 배후(reverse)의 서버로부터 데이터를 가져오는 방식이다.
리버스 프록시를 왜 사용할까?
로드밸런싱
리버스 프록시 서버를 여러개의 진짜 서버 앞에 두고 로드 밸런싱을 할 때 사용한다.
서버보안
본래 서버의 IP주소를 노출시키지 않을 수 있다.
캐싱
한국 사용자가 미국의 웹서버에 접속할때 프록시 서버가 한국에 있다면 프록시 서버에 캐싱해두고 더 빠른 속도로 이용할 수 있다.
암호화
암복호화는 비용이 많이 드는 작업이라고 한다. 프록시를 사용하면 요청을 복호화하고 응담을 암호화하므로 서버의 부담을 줄일 수 있다.
참고
'Web' 카테고리의 다른 글
[linux] Linux가 부팅될 때 일어나는 일. (0) | 2024.06.18 |
---|---|
[Web] 내부망? 네트워크는 어떻게 연결될까? (1) | 2024.03.22 |
[Web] WebServer와 WAS, AJP (0) | 2024.03.20 |
[web] css 안먹을 때 해결 방법 (0) | 2023.01.06 |
[web] 스크립트 용량 줄이기, 로딩 시간 줄이기 (0) | 2022.03.12 |