티스토리 뷰
Proxy의 사전적 의미는 남의 일을 대신 처리한다라는 뜻을 가진다. 즉, 마치 누군가의 대리인처럼 역할을 하는 존재이다. Spring Proxy, Network Proxy, Proxy Pattern 등 Proxy는 여러 분야에서 사용되지만 이번 포스팅에서는 Proxy의 기본이 되는 Network Proxy에 대해 알아본다.
Proxy의 종류
Forward Proxy
일반적으로 말하는 프록시는 Forward Proxy이다. Forward Proxy는 클라이언트와 인터넷 사이에 위치하게 된다. 즉, Forward Proxy가 클라이언트 쪽에 붙어서 흐름을 대신 처리한다.
Forward Proxy의 특징
1. 캐싱
- 클라이언트가 '요청한 내용과 이에 대한 응답 내용'을 캐싱한다.
- 서버에서 클라이언트에 응답을 하면 해당 응답은 Forward Proxy에 캐싱된다.
- 이렇게 요청과 응답을 캐싱해두면 이후 같은 요청에 대해서 실제 서버까지 가지 않고도 데이터를 받아올 수 있게 된다.
2. 익명성
- 클라이언트가 보낸 요청을 감추는 기능을 한다.
- 만약 Forward Proxy가 없고 클라이언트가 보낸 요청을 그대로 서버로 보낸다면 익명성이 보장되지 않을 것이다. 여기서 익명성이란 IP 정보, 장비 정보, OS 정보 등이 포함된다.
- Forward Proxy를 두면 클라이언트의 정보가 아니라 Forward Proxy의 정보가 서버로 넘어간다.
- 즉, 서버에게 요청을 누가 보냈는지 모르게 한다. 서버 입장에서 받은 요청의 IP 정보는 Forward Proxy의 IP 정보가 된다.
Reverse Proxy
Reverse Proxy는 인터넷과 서버 사이에 존재하게 된다.
Reverse Proxy 특징
1. 캐싱
- 클라이언트가 요청한 내용과 서버가 응답한 내용을 캐싱한다. (Forward Proxy와 동일)
2. 보안
- 서버 정보를 클라이언트로부터 숨긴다.
- 클라이언트 입장에서 서버의 정보를 알지 못한다. 즉, 클라이언트 입장에서는 Reverse Proxy 서버를 실제 서버로 인식한다. 따라서 실제 서버의 IP주소 등에 대한 정보가 노출되지 않는다.
3. Load Balancing (Optional)
- OSI 7 Layer를 기준으로 L2, L3, L4, L7 로드밸런서가 있으며 L2는 MAC 주소 기반, L3는 IP주소 기반, L4는 IP와 Port기반, L7은 애플리케이션 레벨에서(HTTP, FTP 등) 이를 기반으로 하는 로드밸런서이다.
'[ Basic ] > # 네트워크' 카테고리의 다른 글
SSL/TLS, HTTPS 기초 개념 (0) | 2023.05.03 |
---|---|
<추천티비>OSI 7계층을 기반으로 네트워크 흐름 이해하기 (0) | 2022.04.17 |
[WEB] CORS(Cross-Origin Resource Sharing) (0) | 2021.12.05 |
[HTTP] HTTP 프로토콜 패킷 분석 (0) | 2021.08.04 |
[TCP/UDP] Transport Layer 트래픽 분석 (0) | 2021.08.04 |
- Total
- Today
- Yesterday
- github actions
- 쿠버네티스
- Stream
- container
- golang
- 카프카
- ubuntu
- RDB
- jvm
- kafka
- 코틀린
- argocd
- CICD
- 우분투
- Linux
- 컨트롤러
- db
- K8s
- spring
- Java
- Controller
- Kubernetes
- docker
- GitOps
- rolling update
- go
- ci/cd
- helm
- Non-Blocking
- LFCS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |