[Nginx] Reverse Proxy

방명규·2024년 3월 20일
post-thumbnail

개념

리버스 프록시란

클라이언트 요청을 대신 받아 내부 서버로 전달 해주는 것을 리버스 프록시라고 한다.

  • Proxy -> 대리라는 의미, 정보를 대신 전달해주는 주체라고 생각하자

ex) localhost:3000 웹서버를 열어 운영, 사용자가 급증
-> 웹서버가 그대로 노출되어 있기 때문에 보안적으로 위험성 있다.

nginx를 사용하면 로드 밸런싱으로 부하를 줄여줄 수 있고, 분산 처리 또한 가능하며 웹서버의 SSL 인증도 적용할 수 있다.

  • 사용자 -> nginx -> 웹서버 로 구성해서 사용자의 요청을 nginx가 대신 웹서버로 전달해주도록 구성한다.


이미지출처

리버스 프록시의 장점

  • 로드 밸런싱 : Nginx는 클라이언트의 요청을 프록시 서버에 분산하기 위해 로드 밸런싱을 수행하여 성능, 확장성 및 신뢰성을 향상시킬 수 있다.
  • 캐싱 : Nginx 를 역방향 프록시로 사용하면 미리 렌더링된 버전의 페이지를 캐시하여 페이지 로드 시간을 단축할 수 있다. 이 기능은 프록시 서버의 응답에서 수신한 콘텐츠를 캐싱하고 이 콘텐츠를 사용하여 매번 동일한 콘텐츠를 프록시 서버에 연결할 필요 없이 클라이언트에 응답하는 방식으로 작동한다.
  • SSL 터미네이션: Nginx는 클라이언트와의 연결에 대한 SSL 끝점 역할을 할 수 있다. 수신 SSL 연결을 처리 및 해독하고 프록시 서버의 응답을 암호화한다.
  • 압축: 프록시 서버가 압충된 응답을 버내지 않는 경우 클라이언트로 보내기 전에 응답을 압축하도록 Nginx를 구성할 수 있다.
  • DDos 공격 완화: 수신 요청과 단일 IP 주소당 연결수를 일반 사용자에게 일반적인 값으로 제한할 수 있다. 또한 Nginx를 사용하면 클라이언트 위치와 User-에이전트 및 Referer와 같은 요청 헤더 값을 기준으로 엑세스를 차단하거나 제한할 수 있다.
profile
한줄

0개의 댓글