일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 제어키워드
- 선택제어
- 노출모듈패턴
- 자바의 구조
- 코딩테스트
- 코테
- 대문자 변환
- 디자인패턴
- 평균구하기
- 메서드영역
- Algorithm
- 문자열
- 소문자 변환
- IF문
- 클래스영역
- 이터레이터패턴
- 반복제어문
- 자바버전차이
- 플랫폼독립성
- push에러
- 스프링 스프링부트 차이
- 참조자료형
- 자바의 메모리구조
- 합 구하기
- Java
- 프록시패턴
- 자바
- 약수구하기
- 403error
- 알고리즘
Archives
- Today
- Total
지니, 개발하다.
[CS] 1-5. 프록시 패턴 / 프록시 서버 본문
[CS] 1-5. 프록시 패턴 / 프록시 서버
dev.genii 2023. 4. 29. 10:075. 프록시패턴/프록시서버 Proxy Pattern/ProxyServer
- 프록시 패턴
- 대상객체(Subject)에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴
- 프록시패턴을 통해 객체의 속성, 변환 등을 보완하며 보안/데이터 검증/캐싱/로깅에 사용함
- 프록시 객체로도 쓰이지만 프록시 서버로도 활용됨
프록시 서버에서의 캐싱
캐시안에 정보를 담아두고 그 정보에 대한 요청처리는 캐시에 담긴 데이터를 활용하는 것
→ 불필요한 외부연결이 없어지므로 트래픽을 줄일 수 있음
- 프록시 서버
- 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접 접속할 수 있게 하는 컴퓨터 시스템이나 응용프로그램 임
- 프록시 서버로 쓰이는
nginx
,cloud flare
- nginx
- 비동기 이벤트 기반의 구조와 다수의 연결을 효과적으로 처리 가능한 웹서버
- 주로 Node.js 서버 앞단의 프록시서버로 활용됨
- overflow 취약점을 예방하기 위해 사용됨
overflow
버퍼 오버플로우 : 메모리 공간을 벗어나는 경우- → 사용되지 않아야할 영역에 덮어 씌워져 주소, 값을 바꾸는 공격이 발생하기도 함
- 버퍼 : 데이터가 저장되는 메모리 공간
- 익명사용자의 직접적인 서버접근을 차단하며 보안성을 강화함정적자원을 gzip 압축 가능함
gzip
- 데이터 전송량을 줄일 수 있음
- 압축해제시 서버에서의 CPU 오버해드도 고려하여 사용해야함
- LZ77과 Huffman 코딩 조합인 DEFLATE 알고리즘을 기반으로 한 압축기술
- 메인서버 앞단에서 로깅
- → 실제 port를 숨길 수 있음
- cloud flare
- CDN 서비스사용자가 인터넷에 접속하는 곳과 가까운 곳에서 컨텐츠를 캐싱/배포하는 서버 네트워크
- 웹서버로부터 컨텐츠를 다운받는 시간 감소
- Content Delivery Network
- D Dos 공격 방어
- D Dos
- 짧은 기간 동안 네트워크에 많은 요청을 보내 네트워크를 마비시켜 웹사이트 가용성을 방해하는 사이버 공격 유형
- Cloud Flare는 의심스러운 트래픽, 사용자 접속이 아닌 시스템을 통해 오는 트래픽을 자동으로 차단함→ DDos 공격에 대한 방화벽 대시보드 제공
- → Cloud Flare의 거대한 네트워크 용량+캐싱전략으로 D Dos 공격을 방어
- HTTPS 구축
- HTTPS 구축시 별도의 인증서 없이 Cloud Flare를 사용하여 구축 가능
- 전 세계적으로 분산된 서버가 있고, 이를 통해 시스템의 컨텐츠를 빠르게 전달할 수 있는 CDN 서비스
- nginx
- CORS와 프론트엔드의 프록시 서버
- CORS서버가 웹브라우저에서 리소스를 로드할때, 다른 오리진을 통해 로드하지 못하게 하는 HTTP 헤더 기반 메커니즘
- originhttps://kundal.com:1201/test
- : https://kundal.com:1201 이 origin
- 프로토콜과 호스트 이름, 포트의 조합
- Cross-Origin Resourse Sharing
- CORS서버가 웹브라우저에서 리소스를 로드할때, 다른 오리진을 통해 로드하지 못하게 하는 HTTP 헤더 기반 메커니즘
프록시서버를 만드는 이유
프론트엔드 개발시
프론트엔드 서버와 백엔드 서버가 통신할 때, CORS error를 마주침. 이를 해결하기 위해 프록시서버를 만듦
예)
프론트엔드 127.0.0.1:3000
백엔드 127.0.0.1:1201
이 때, CORS 에러
이 때 프록시서버를 두고 프론트서버에서 요청되는 origindmf 127.0.0.1:1201 로 바꿈
'Study > CS' 카테고리의 다른 글
[CS] 1-7. 노출 모듈 패턴 (0) | 2023.04.29 |
---|---|
[CS] 1-6. 이터레이터 패턴 (0) | 2023.04.29 |
[CS] 1-4. 옵저버 패턴 (0) | 2023.04.28 |
[CS] 1-3. 전략 패턴 (0) | 2023.04.28 |
[CS] 1-2. 팩토리 패턴 (0) | 2023.04.28 |
Comments