프록시 패턴은 대상 객체에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 패텅.
프록시 서버
- 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속 할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램.
- nginx : 비동기 이벤트 기반의 구조와 다수의 연결을 효과적으로 처리 가능한 웹서버.
- 주로 Node js 서버 앞단의 프록시 서버로 활용.
- 톨게이트라고 볼 수 있을 것 같음!
좋은 프록시 서버 예시가 NginX!
- Node js의 창시자인 라이언 달은 Node.js의 버퍼 오버플로우 취약점을 예방하기 위해 nginx를 프록시 서버로 앞단에 놓고 node서버를 뒤쪽에 놓는 것이 좋다. 라고 했음.
- 현재는 교과서처럼 참고되어 많은 사람들이 nginx를 앞단에 두는 방식으로 서버를 구축함.
- 익명 사용자의 직접적인 서버로의 접근을 차단하고 간접적으로 한 단계를 더 거침으로써 보안성을 더욱 강화할 수 있음!
버퍼 오버플로우
- 버퍼는 보통 데이터가 저장되는 메모리 공간으로, 메모리 공간을 벗어나는 경우를 말함.
- 이때 사용되지 않아야 할 영역에 데이터가 덮어씌워져 주소, 값을 바꾸는 공격이 발생하기도 함.
또 다른 예시인 CloudFlare