-
프록시 서버 (Proxy Server)개발 여정/컴퓨터공학 일반 2023. 4. 14. 22:04
Proxy Server란?
- Proxy 뜻: 대리
- 서버와 클라이언트 사이에서 역할을 대리해서 데이터를 가져오는 서버
- 응용계층에서 역할 수행
- 예를 들어 클라이언트인 웹 브라우저에 naver.com을 입력하면, 중간에서 프록시 서버가 네이버 서버의 내용을 가져다 클라이언트에게 전달해줌
이미지 출처: 위키피디아 프록시의 위치
- 클라이언트 측과 서버 측 둘 중 하나에서, 내부 사설망과 외부 인터넷망이 접하는 경계에 위치
포워드형 프록시
- 주로 데이터 수신용으로, 클라이언트 가까운 쪽에 위치
- 클라이언트는 서버를 알지만 서버는 프록시를 통해서 요청이 오기 때문에 클라이언트를 알지 못함
- 자주 사용되는 자원을 캐시에 저장해놓기 때문에 서버에 갈 필요없이 프록시 서버 자체에서 처리 가능
이미지 출처: https://www.lesstif.com/system-admin/forward-proxy-reverse-proxy-21430345.html 리버스형 프록시
- 주로 데이터 제공용으로, 서버 가까운 쪽에 위치
- 서버는 클라이언트를 알지만 클라이언트는 서버를 알지 못함
- 여러 개의 내부 서버를 둘 수 있기 때문에 로드 밸런싱이나 서버 확장을 통해 트래픽 분산 가능
- 관련 서비스: Cloudflare, NGINX 등
이미지 출처: https://www.lesstif.com/system-admin/forward-proxy-reverse-proxy-21430345.html 프록시 / 게이트웨이의 비교
프록시 게이트웨이 클라이언트 -> 프록시 -> 서버 어플리케이션 -> 게이트웨이 -> 리소스 허용된 프로토콜만 연결 프로토콜 필터링 없이 연결 통신 내용을 수정할 수 있음 통신 내용을 그대로 전달(내용 수정 불허) 서버 대신 응답 가능 클라이언트가 중간에 게이트웨이 존재 여부를 인식할 수 없음 프록시의 역할
중계 기능
- 유저를 대신하여 서버에 접근해서 데이터 전달
캐시 기능
- 자주 요구되는 정보를 일시적 저장함
- 병목 트래픽 및 대역폭 감소
보안 기능
- 네트워크 외부에서 실제 서버의 위치를 감추는 효과
- 프록시 서버로 대신 접속하면 실제 서버의 IP 주소를 감출 수 있음
방화벽으로 활용 가능
부적절한 사이트에의 접근 방지
Reference
'개발 여정 > 컴퓨터공학 일반' 카테고리의 다른 글
[자료구조] 단방향 연결 리스트 (Singly Linked Lists) (0) 2022.12.10 [디자인패턴] MVVM 구조란? (0) 2022.09.22 [Java] 객체지향 프로그래밍이란? (OOP, Object-Oriented Programming) (0) 2021.12.07 프로그래밍에서 '추상화'란? (0) 2021.12.01