프록시(Proxy)란
- 프록시(Proxy)는 "대리"의 의미로, 인터넷과 관련해서 쓰이는 경우, 특히 내부 네트워크에서 인터넷 접속을 할 때에, 빠른 액세스나 안전한 통신등을 확보하기 위한 중계서버를 "프록시 서버"라고 일컫는다. 클라이언트와 Web서버의 중간에 위치하고 있어, 대신 통신을 받아 주는 것이 프록시 서버이다.
프록시(Proxy)의 사용 목적
1. 개인정보 보호
- 프록시 서버 X - 사용자가 네이버에 들어갈 때 IP 주소가 전달
- 프록시 서버 O - 프록시 서버의 IP를 전달. 즉, 사용자의 IP를 보호할 수 있다.
2. 속도 향상 - 캐시 사용
- 사용자가 특정 페이지를 요청할 때, 프록시 서버를 통해 웹 페이지를 가져온다.
- 가져온 웹 페이지를 프록시 서버의 DB에 저장하고 사용자에게 전달.
- 같은 프록시 서버로 동일한 페이지 요청시 저장된 캐시를 이용해 바로 웹 페이지 전달.
- 외부 네트워크를 통해 요청 횟수가 줄어들어 대역폭을 줄이는 효과 및 속도 향상 효과
3. 로그 기록 관리
- 프록시 서버에는 사용자 기록이 남는다
- 사용자들의 정보를 제어
- 방문할 수 있는 웹 사이트를 제한
4. 방화벽
- 외부 접근으로부터 보호하기 위해 위와 같이 보안상으로 프록시 서버를 구성
5. 접속 우회
- 프록시 서버는 여러대 연결 시킬 수 있다.
- 사용자의 IP를 숨기기 위해 여러 프록시 서버를 경유하는 기술을 Proxy Chaining 이라고 한다.
프록시(Proxy)의 종류
ㄱ. 포워드 프록시(Forward Proxy)
- Client와 Server 사이에 위치하여 요청을 중계하며, 요청과 응답은 Proxy Server를 거친다.
- 클라이언트 대신 프록시 서버가 목적 서버에 통신해주는 구성.
- 클라이언트를 감추는 효과가 있다.
ㄴ. 리버스 프록시(Reverse Proxy)
- 포워드 프록시와 다르게 Server들이 주로 내부망으로 구성되며 프록시에게만 연결을 허용
- 즉, 서비스를 위한 보안 채널을 구축
- Client가 Server에 직접 접근이 불가능하므로, Reverse Proxy에서 요청을 적극적으로 중계하는 Load Balancing의 역할을 수행하기도 한다.
- 서버를 감추는 효과가 있다.
'CS' 카테고리의 다른 글
[CS] OOP의 특징 (추상화/캡슐화/상속/다형성) (0) | 2023.01.28 |
---|---|
[CS] 트랜젝션 (0) | 2023.01.28 |
[CS] OSI 7 계층 (0) | 2023.01.28 |
[CS] 해시(Hash)와 해시 충돌 해결 방법 (0) | 2023.01.28 |
[CS] 프로세스와 스레드 (0) | 2023.01.26 |