겸쨔

[nginx] nginx란? 본문

webserver/nginx

[nginx] nginx란?

겸쨔 2024. 7. 22. 11:09
반응형

안녕하세요.

nginx개념 정리 했던거 가져 올게요.

 

Nginx를 사용하는 이유

  1. 높은 성능과 적은 메모리 사용
  • Nginx는 비동기 I/O 처리 방식을 사용하여 높은 성능을 제공한다.
  • 이를 통해 대규모 웹 사이트에서도 빠른 응답 시간을 보장할 수 있다.
  • Nginx는 적은 메모리 사용량으로도 높은 성능을 제공한다. 이를 통해 서버 운용 비용을 절감할 수 있다.

 

2. Reverse Proxy 사용 가능

  • Proxy의 사전적 정의는 “대리”이다.
  • 인터넷을 접속할 때 보안상의 문제로 직접 통신할 수 없을 경우
    그 사이의 중계기로서 대리로 통신을 수행하는 기능을 Proxy라고 한다.
  • 이렇게 중계를 가능하게 하는 것을 Proxy Server라고 한다.

 

프록시는 크게 포워드 프록시, 리버스 프록시로 구분된다.

1. 포워드 프록시: 클라이언트와 인터넷 사이에 있는 영역을 말한다.


클라이언트가 어떤 정보를 요청하면, 포워드 프록시가 이를 대신 받아서 서버에게 전달한다.
그리고 서버의 응답 또한 포워드 프록시가 대신 받아 클라이언트에게 전달한다.

포워드 프록시를 사용하면 클라이언트의 IP 주소가 웹 서버에 노출되지 않는다.

 

따라서 클라이언트의 위치나 신원을 식별하는 것이 어려워지고, 접근 제어도 수행하기 때문에 보안이 강화된다.

포워드 프록시를 사용하여 특정 IP 주소, 도메인 또는 URL에 대한 접근을 제한할 수 있다.

 

포워드 프록시는 미디어 스트리밍도 지원한다.

미디어 파일은 일반적으로 큰 용량을 가지고 있기 때문에 웹 서버에서 직접 전송하는 것은 효율적이지 않다.

포워드 프록시를 사용하여 미디어 파일을 캐시하고, 클라이언트에게 빠르게 제공할 수 있다.

 

2. 리버스 프록시: 리버스 프록시는 인터넷과 백엔드 그 사이에 있는 서버 영역을 말한다.

 

예를 들어 WAS로 사용하고 있는 서버가 여러 대 있다고 가정을 한다면,

클라이언트가 https://example/blog1, https://example/blog2로 요청 했을 때 blog1은 A서버로,

blog2는 B서버로 전달하여 요청에 해당하는 웹 서버로 길을 분배할 수 있다. 이것을 로드 밸런싱이라고 한다.

 

캐싱 서버로도 이용할 수 있다.

예를 들어 클라이언트가 이미지를 요청했을 때 처음에는 서버에서 가져오지만 이후에 동일한 요청이 있는

경우에는 캐시 서버에서 가져와 클라이언트에게 전달한다. 당연히 클라이언트에게 뛰어난 사용감을 제공할 수 있다.

 

보안 효과도 있다.

WAS가 데이터를 응답할 때는 기기의 명칭이나 주소 등 실제로는 민감한 정보들이 담겨져 있다.

이러한 정보들을 중간에서 숨겨주기 때문에 보안도 좋다.

 

이 외에도 SSL 지원, 데이터 압축, 비동기 처리 등 다양한 기능을 제공한다.

반응형

'webserver > nginx' 카테고리의 다른 글

[nginx] websocket 설정  (2) 2024.07.22
[nginx] under_score in header 설정  (0) 2024.07.22
[nginx] 재시작  (0) 2024.07.22