능글맞은 구렁이

디자인패턴 - 프록시패턴 본문

IT 상식

디자인패턴 - 프록시패턴

보라색츄르 2024. 8. 7. 22:45

프록시패턴

프록시패턴이란 대상 객체에 접근하기 전 그 접근에 대한 흐름을 가로채 해당 접근을 필터링하거나 수정하는 등의 역할을 하는 계층이 있는 디자인 패턴이다.  이를 통해 객체의 속성, 변환 등을 보완하며 보안, 데이터 검증, 캐싱, 로깅에 사용된다. 

프록시 서버에서의 캐싱
캐시 안에 정보를 담아두고, 캐시 안에 있는 정보를 요구하는 경우 캐시 안에 있는 데이터를 활용하는 것
다라서 불필요하게 외부와 연결하지 않기 때문에 트래픽을 줄일 수 있다는 장점

 

 

 

프록시 서버

프록시 서버란 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다.

대표적으로 nginx있는데 nginx는 비동기 이벤트 기반의 구조와 다수의 연결을 효과적으로 처리 가능한 웹 서버이며, 주로 node.js 서버 앞단의 프록시 서버로 활용된다.

 

 

프록시 서버로 쓰는 CloudFlare

CloudFlare는 웹 서버 앞단에 프록시 서버로 두어 DDOS 공격 방어나 HTTPS 구축에 쓰인다.

DDOS 공격
짧은 기간 동안 네트워크에 많은 요청을 보내 네트워크를 마비시켜 웹 사이트의 가용성을 방해하는 사이버 공격 유형이다.
HTTPS구축
서버에서 HTTPS를 구축할 때 인증서를 기반으로 구축할 수도 있지만 CloudFlare를 사용하면 별도의 인증서 설치 없이 좀더 손쉽게 HTTPS를 구축할 수 있다.

 

 

 

CORS와 프런트엔드의 프록시 서버

CORS(Cross - Origin Resourece Sharing) 는 서버가 웹 브라우저에서 리소스를 로드할 때 다른 오리진을 통해 로드하지 못하게 하는 HTTP헤더 기반 메커니즘이다.

프런트 개발 시 백엔드 서버와 통신할때 주로 CORS 에러를 마주치는데 이를 해결하기 위해 프런트쪽에 프록시 서버를 만들기도한다. 

 

'IT 상식' 카테고리의 다른 글

네트워크 - 정의  (0) 2024.08.06
디자인패턴 - 옵저버 패턴  (0) 2024.02.06
디자인패턴 - 팩토리패턴, 전략패턴  (0) 2024.01.29
디자인패턴 - 싱클톤패턴  (0) 2024.01.22
의존성이란?  (0) 2024.01.22
Comments