📍Proxy Server란
Client와 Server의 통신을 중개하는 Server다.
![](https://velog.velcdn.com/images/engus525/post/2c9f086e-a24d-4956-b7ac-c86f7df216eb/image.png)
그렇다면 이것이 어떠한 원리로 작동하고, 왜 사용하는지에 대해 알아보자.
📍Proxy Server 작동 원리
- Client가 Server에 요청을 보낸다.
- 요청에 대한 패킷은 바로 Server로 가는 것이 아닌, Proxy Server로 이동한다.
- Proxy Server는 Client IP를 자체 IP로 변환한다.
- Proxy Server는 Server로 요청 패킷을 전달한다.
- Server는 응답 패킷을 Proxy Server로 전달한다.
- Proxy Server는 응답 패킷을 Client에게 전달한다.
즉, 요청과 응답 모두 직접적인 전달이 아닌 Proxy Server를 거쳐 전달되는 것을 알 수 있다.
📍Proxy Server 역할
보안
- Client IP가 Proxy Server에서 변환되기 때문에, 역추적이 불가능해 유저의 정체를 숨길 수 있다. (Reverse proxy)
- Server의 IP를 숨길 수 있어 해커들의 공격을 막는데 유용하다. (Forward proxy)
캐싱을 통한 성능 향상
- Server의 정보를 Proxy Server에 캐싱해둠으로써, 더 빠른 조회가 가능해진다. (Reverse proxy)
로드 밸런싱을 통한 부하 분산
- Proxy Server가 Client의 요청을 받으면, 요청을 처리할 Server를 선택한다. 이를 통해 single server의 과부하를 방지한다. (Reverse proxy)
그렇다면 Forward Proxy와 Reverse Proxy는 어떻게 다른가?
📍Forward Proxy Server
![](https://velog.velcdn.com/images/engus525/post/115054f6-341f-4023-a32f-d38b90faff5b/image.png)
요청이 Client에서 Server 방향일 때, 보안을 목적으로 요청은 Forward Proxy Server를 거치게 된다.
즉, Server로 직접 전달되는 것이 아닌 Proxy Server를 거치는 방식이다.
📍Reverse Proxy Server
![](https://velog.velcdn.com/images/engus525/post/0b80bb9e-69c6-46d9-8a43-0f5426b52b7c/image.png)
서버의 정보를 캐싱하거나, 로드 밸런서의 역할 및 보안을 목적으로 Reverse Proxy Server를 거치게 된다.
즉, Server가 Client로 응답을 하기위해 Proxy Server를 거치는 방식이다.
Proxy Server의 개념과 역할에 대해 살펴보았다.
하나 덧붙이자면, Proxy Server의 기능에 암호화를 적용한 것이 우리가 익히 들어 아는 VPN이다.
또한 개인적으로 고민했던 내용으로 NAT(Network Address Translation)과 Forward Proxy Server의 유사성이 있는데, 목적과 범위에 있어 큰 차이를 지니므로 확실히 구별하는게 좋을 것같다.
참고 자료
리버스 프록시(reverse proxy) 서버 개념
[Network] 프록시 서버란? (feat. 필요한 이유) (What is a Proxy server?)
프록시와 VPN의 차이점은 무엇인가요?
💕오류 지적 및 피드백은 언제든 환영입니다. 복제시 출처 남겨주세요!💕
💕좋아요와 댓글은 큰 힘이 됩니다.💕