재밌고 어려운 IT를 이해해보자~!

Nginx 본문

개인공부

Nginx

언제나즐거운IT 2024. 11. 11. 17:10

웹서버의 하나로 Apache와 동일한 역할을 한다!

 

Nginx 장점

 

1. 높은 성능과 작은 메모리 사용

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

2. 리버스 프록시(Reverse Proxy) 사용이 가능

프록시(Proxy)의 사전적 정의는 "대리"입니다. 인터넷 접속을 할 때 보안상의 문제로 직접 통신을 주고받을 수 없을 때 그 사이의 중계기로서 대리로 통신을 수행하는 기능을 프록시라고 말합니다. 이렇게 중계를 기능하는 것을 우리는 프록시 서버라고 부릅니다. 프록시는 크게 포워드 프록시, 리버스 프록시로 구분됩니다.

포워드 프록시는 클라이언트와 인터넷 그 사이에 있는 영역을 말합니다. 클라이언트가 어떠한 정보를 요청하면 포원드 프록시가 이를 대신 받아서 서버에게 전달을 합니다. 이후 서버의 응답 또한 포워드 프록시가 대신 받아 클라이언트에게 전달합니다. 

 

포워드 프록시를 사용하면 클라이언트의 IP 주소가 웹 서버에 노출되지 않습니다. 따라서, 클라이언트의 위치나 신원을 식별하는 것이 어려워져 보안이 강화됩니다. 또한 접근 제어를 수행할 수 있습니다. 포워드 프록시를 사용하여 특정 IP 주소, 도메인 또는 URL에 대한 접근을 제한할 수 있습니다.

 

리버스 프록시는 인터넷과 백엔드 그 사이에 있는 서버 영역을 말합니다. 예를 들어 WAS로 사용하고 있는 서버가 여러 대 있다고 가정을 해보겠습니다. 클라이언트가 https://example/blog1, https://example/blog2으로 접근을 했다면 blog1은 A 서버로 전달, blog2는 B 서버로 전달하여 요청에 해당하는 웹 서버로 길을 분배할 수 있습니다. 이것을 로드 밸런싱이라고 합니다.

마지막으로 미디어 스트리밍을 지원할 수 있습니다. 미디어 파일은 일반적으로 큰 용량을 가지고 있기 때문에, 웹 서버에서 직접 전송하는 것은 효율적이지 않습니다. 포워드 프록시를 사용하여 미디어 파일을 캐시하고, 클라이언트에게 빠르게 제공할 수 있습니다.

 

3. SSL 지원

SSL (Secure Sockets Layer)은 웹 사이트와 사용자 간의 통신을 암호화하고 보안을 유지하는 데 사용되는 프로토콜입니다. SSL은 HTTPS (HTTP Secure)로 알려진 보안 HTTP 프로토콜의 기반 기술입니다.

HTTPS는 HTTP 프로토콜의 암호화된 버전입니다. SSL 프로토콜을 사용하여 웹 서버와 클라이언트 간에 보안 연결을 설정하고, SSL 인증서를 사용하여 서버의 신원을 인증합니다. 이를 통해 중간자 공격과 같은 보안 위협을 방지하고, 사용자의 개인 정보와 웹 사이트의 기밀 정보를 보호할 수 있습니다.

Nginx는 HTTPS 인증서를 제공해 줄 수 있습니다. 

4. 데이터 압축

클라이언트가 보내는 요청이 Text일 경우에는 gzip을 사용하여 해당 데이터를 압축시킬 수 있습니다. 

5. 비동기 처리


Nginx는 이벤트 루프 방식을 사용하여 높은 성능을 제공합니다. 이를 통해 동시에 여러 요청이 들어왔을 때도 많은 트래픽을 동시에 처리할 수 있어 빠른 응답 시간을 보장합니다. 

 

 Apache와 비교했을때 빠른 정적 컨텐츠를 처리하고 싶고 대용량 트래픽을 처리하는 웹 사이트인 경우는 Nginx를 사용하는 편인 것 같다.

 

Apache와 Nginx 차이점

https://velog.io/@cjyooong/apache-nginx

 

 

 

 

 

 

 

 

*참조

https://blog.naver.com/gi_balja/223028077537

https://velog.io/@cjyooong/apache-nginx

 

'개인공부' 카테고리의 다른 글

코틀린  (0) 2024.11.18
에플리케이션 생명주기  (0) 2024.11.17
CodeIgniter  (2) 2024.11.07
SVN  (0) 2024.11.07
금융, 증권IT  (1) 2024.11.06
Comments