Nginx를 사용하는 이유

bunny.log·2023년 5월 23일
0

Nginx란?

동시 접속 처리에 특화된 웹서버로 클라이언트로부터 http 요청을 받아 요청에 해당하는 파일을 http 통신을 통해 응답해주는 프로그램이다. 웹서버 특성상, WAS와는 다르게 정적 컨텐츠 호스팅에 특화되어있고 이 밖에 리버스 프록시, 캐싱, 로드 밸런싱, 미디어스트리밍 등 유용한 여러 역할을 수행한다.

  1. 정적 컨텐츠 호스팅에 특화
  2. 리버스 프록시
  3. 캐싱 : http 프로토콜을 사용하여 전달하는 콘텐츠를 캐싱할 수 있음, 한 번 서버에서 응답받은 것을 스스로 보관하고 클라이언트에 전달함.
  4. 로드 밸런싱
  5. 미디어스트리밍
  6. SSL 터미네이션 : 클라이언트와 https 통신하고, 서버와 http 통신하는 것

Web Server : 단순히 정적 파일 응답
WAS(Web Application Server) : 클라이언트 요청에 대해 동적 처리가 이뤄진 후 응답

1. Reverse Proxy

리버스 프록시는 외부에 노출시키려는 리소스 앞 단에 위치한다. 리버스 프록시를 수행하는 Nginx의 역할은 다음 그림과 같다.

리버스 프록시와 포워드 프록시의 차이는 아래의 두 그림에서 보여지는 것처럼 웹서버의 위치가 다르다는 점이다.

forward proxy

reverse proxy

대부분의 WAS 는 Web Server 기능을 제공하므로 Reverse proxy 가 없이 내부 WAS 가 직접 서비스를 제공해도 되지만 이렇게 구성하는 이유중 여러가지가 있다.

  • 리버스 프록시의 웹서버를 리소스의 앞 단에 위치 시킴으로, DB와 연결된 WAS의 보안을 강화 할 수 있다.

  • Cache Server 를 붙이거나 SSL 하드웨어 가속기를 연동하는등 아키텍처 측면에서 성능 향상을 하기가 해진다.

  • 리버시 프락시를 cluster로 구성해 놓으면 가용성을 높일 수 있고 사용자가 증가하는 상황에 맞게 Web Server 나 WAS 를 유연하게 늘릴 수 있는 장점이 있다

참고

https://velog.io/@davidko/Nginx%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0

https://ssdragon.tistory.com/60

profile
나를 위한 경험기록

0개의 댓글