{n_u}.log
로그인
{n_u}.log
로그인
Network - Web Server
iseon_u
·
2022년 5월 21일
팔로우
0
CS
Nginx
Proxy
TIL
WAS
Web Server
network
ssl
0
Network
목록 보기
1/31
Web Server
Server
클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템
Web Server
인터넷을 기반으로 클라이언트에게 웹 서비스를 제공하는 컴퓨터
클라이언트로부터 HTTP 요청을 받아 정적 컨텐츠를 제공하는 프로그램
정적 컨텐츠
어느 사용자 요청이든 항상 동일한 컨텐츠
요청 인자 값에 상관 없이 달라지지 않는 컨텐츠
이미지, HTML, CSS, JS, 파일
Web Server 의 기능
클라이언트로부터 HTTP 요청을 받을 수 있다.
정적 컨텐츠 요청 시 정적 컨텐츠를 제공할 수 있다.
동적 컨텐츠 요청 시 Web Application Server (WAS) 로 전달
WAS 가 처리한 결과를 클라이언트에 전달
WAS (Web Application Server)
클라이언트 요청에 대해 동적인 처리가 이뤄진 후 응답
웹 애플리케이션을 실행시켜 필요한 기능을 수행하고 그 결과를 웹 서버에 전달
프로그램 실행 환경과 데이터 베이스 접속 기능 제공
비즈니스 로직 수행 가능
동적인 컨텐츠를 제공하기 위해 만들어진 프로그램
동적 컨텐츠
상황에 따라 변하는 정보
요청 인자에 따라 바뀔 수 있는 컨텐츠
WAS 의 기능
클라이언트로부터 HTTP 요청을 받을 수 있다. (대부분의 WAS 는 Web Server 내장)
요청에 맞는 정적 컨텐츠 제공 가능
DB 조회나 다양한 로직 처리를 통해 동적 컨텐츠 제공 가능
Web Server 를 별도로 운영하는 이유?
WAS 의 부담을 줄어주기 위해
책임 분할을 통한 서버 부하 방지
정적 컨텐츠는 Web Server 담당
동적 컨텐츠는 WAS 담당
여러 대의 WAS 로드 밸런싱
여러 대의 WAS Health Check
서버의 주기적으로 HTTP 요청을 보내 서버의 상태를 확인
보안
리버스 프록시를 통해 실제 서버를 외부에 노출하지 않을 수 있다.
Scale-up
서버 액세스가 증가 할 때 서버 하드웨어 성능을 높여 해결하는 방법
Scale-out
서버 액세스가 증가 할 때 복수의 서버를 사용하여 분담 처리 하는 방법
Nginx
빠른 웹서버
Reverse Proxy 로 사용가능
SSL 지원
웹페이지 접근 인증
압축
비동기 처리
Proxy Pattern 프록시 패턴
대상 객체에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴
Proxy Server 프록시 서버
대신 처리하는 서버
클라이언트와 서버간의 중계 서버
통신을 대리 수행하는 서버
캐시, 보안, 트래픽 분산 등 여러 장점이 있다.
Forward Proxy
클라이언트와 인터넷 사이에 위치한 프록시 서버
클라이언트 대신
서버에 요청을 보내주는 역할
캐싱
클라이언트가 요청한 내용을 캐싱
뒷단을 통하지 않고 응답 가능
전송 시간 절약
불필요한 외부 전송 제거
외부 요청 감소 → 네트워크 병목 현상 방지 (트래픽 감소)
익명성
클라이언트가 보낸 요청을 감춘다.
서버가 응답 받은 요청을 누가 보냈는지 알지 못하게 한다.
서버가 받은 요청 IP = 프록시 IP
Reverse Proxy
인터넷과 서버 사이에 위치한 프록시 서버
서버 대신
클라이언트에 응답을 보내주는 역할
캐싱
Forward 프록시의 캐싱과 동일
보안
서버 정보를 클라이언트로부터 숨긴다.
클라이언트는 Reverse 프록시를 실제 서버라고 생각하고 요청
실제 서버의 IP 가 노출 되지 않는다.
Load Balancing 로드 밸런싱 (선택적)
부하 분산 - 해야할 작업을 나누어 서버의 부하를 분산
Load Balancer 로드 밸런서
여러 대의 서버가 분산 처리할 수 있도록 요청을 나누어주는 서비스
L2
MAC 주소 기반 로드 밸런싱
L3
IP 주소 기반 로드 밸런싱
L4
Transport Layer (IP & Port) Level 전송 계층 에서 로드 밸런싱 (TCP/UDP)
요청을 담당하는 여러 대의 서버로 (서버 A, 서버 B) 로드 밸런싱
L7
Application Layer (User Request) Level 응용 계층 에서 로드 밸런싱 (HTTPS/HTTP/FTP)
/category 와 /search 를 요청 담당 서버들로 로드 밸런싱
SSL
인증서
HTTPS 인증서
웹페이지 접근 인증
WAS에서 하는 로그인 검증을 Nginx 에서 대신 해준다.
iseon_u
🧑🏻💻 Hello World!
팔로우
다음 포스트
Network - IP Internet Protocol
0개의 댓글
댓글 작성