Nginx는 여러 웹 서버들 중의 하나로, Nginx에 대해 알아보자!
🌱 Nginx를 알아보기 전에 알아둘 것 네 가지!
1. 클라이언트
2. 웹 서버
클라이언트의 요청에 따라 HTML, CSS, JS, 이미지 파일과 같은 정적 파일을 응답하여 제공하는 소프트웨어
웹 서버는 HTTP 프로토콜을 사용하여 클라이언트와 통신
3. WAS
WAS는 클라이언트 요청에 대해 동적인 처리를 담당하는 영역. ex) 로그인, 회원가입
데이터베이스 연동, 트랜잭션 관리, 보안, 로깅 등의 기능 제공
웹 어플리케이션의 안정성과 성능 향상.
* 대표적인 WAS ) Tomcat, JBoss, WEBLogin, WebSpere
4. DB
요청) 클라이언트 → 웹 서버 → WAS → DB
응답) DB → WAS → 웹 서버 → 클라이언트
🌱웹 서버를 쓰는 이유?
- WAS의 부담을 덜어주기 위해
WAS는 로그인, 회원가입, 개인정보 수정 등 동적 작업처리
↔ 웹 서버 : HTML, CSS, JS, 이미지 등 정적인 파일을 클라이언트에게 전달하는 역할
- 보안기능 제공함으로써 웹 페이지에 대한 접근 제어
SSL/TLS 프로토콜을 사용하여 데이터를 암호화, 액세스 제어, 웹 방화벽 등의 보안기능 제공하여 웹 사이트 보호
- 높은 성능 제공
웹 서버는 대부분 비동기 처리방식 사용 → 높은 성능 제공
Nginx, Apache 등의 웹 서버는 이벤트기반, 멀티 프로세싱, 스레드 풀 등의 기술을 사용하여 수천 대의 클라이언트 요청을 처리 할수 있음
📌Nginx를 사용하는 이유?
- 높은 성능과 적은 메모리 사용
- 비동기 I/O 처리방식 → 빠른 응답
- 적은 메모리 → 서버 운용비용 절감
- 리버스 프록시 사용이 가능
*프록시(Proxy) : "대리".
인터넷 접속시 보안상의 문제로 직접 통신을 못하는 경우, 그 사이 중계기로서 대리로 통신 수행하는 기능
- 포워드 프록시 : 클라이언트와 인터넷 그 사이의 영역
- IP주소가 웹 서버에 노출X (보안 강화)
- 접근제어 수행 : 특정 IP 주소, 도메인 또는 URL에 대한 접근 제한
- 미디어 스트리밍 지원 : 미디어 파일을 캐시하고 클라이언트에게 빠르게 제공
- 리버스 프록시 : 인터넷과 백엔드 사이의 서버영역
- 로드밸런싱 : WAS로 사용하고 있는 서버가 여러대 있을 때, 각각 도메인에 따라 다른 서버로 전달하여 웹 서버로 길을 분배할수 있음
- 캐싱 서버로 이용 가능
- 보안효과
- SSL 지원 (Secure Sockets Layer)
웹 사이트와 사용자 간의 통신을 암호화하고 보안을 유지하는 데 사용되는 프로토콜
SSL은 HTTPS로 알려진 보안 HTTP 프로토콜의 기반 기술
* HTTPS는 HTTP 프로토콜의 암호화된 버전
SSL 프로토콜을 사용하여 웹 서버- 클라이언트간에 보안 연결을 설정하고,
SSL 인증서를 사용하여 서버의 신원을 인증
Nginx는 HTTPS 인증서를 제공해줄 수 있음.
- 데이터 압축
클라이언트가 보내는 요청이 Text 일 경우 gzip을 사용하여 해당 데이터 압축 가능
- 비동기 처리
이벤트 루프 방식을 사용하여 높은 성능 제공 → 이를 통해 동시에 여러 요 청이 들어왔을 때도 많은 트래픽 동시 처리하여 빠른 응답시간 보장
참고) https://blog.naver.com/gi_balja/223028077537
Nginx란 무엇인가?
Nginx(엔진엑스)는 높은 성능과 안정성 그리고 현재 가장 많이 사용되고 있는 웹 서버입니다. Apache(아...
blog.naver.com
'Web' 카테고리의 다른 글
Azure 인증 연동하기 (0) | 2024.06.28 |
---|---|
[JAVA] 취약점 관련 오류 IOException :javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure (0) | 2024.01.16 |
[Web] REST API 이모저모.. (0) | 2023.11.13 |
댓글