합리적 낙관주의자

Web 인프라 구성과 통신 본문

이상이 아닌 현실 💼/Infra

Web 인프라 구성과 통신

sroa.chin 2024. 6. 10. 23:41

작성 취지:

구축사에서 시스템 개발 시 접근을 못해 Web 서버와 WAS 방화벽 80포트 오픈 요청을 줬는데, 인프라 담당자가 WAS 오픈 이유에 대해서 물어봤다. 하지만 두루뭉실하게 알던 개념이라 즉답을 못했다. 창피해서 공부함.

 

#1.  Web Server

       - Client로부터 request를 받아 정적인 컨텐츠(ex. .html, .css) 제공

       -  WAS에 Request 한 뒤 Response를 받아 Client에게 전달

       - 대표적인 예로 Apache Server, Nginx 등

 

#2.  WAS (Web Application Server)

       -  Web Server로 받은 Request를 DB 통신 및 로직 처리를 한 뒤 Response(동적인 컨텐츠)를 제공

       -  JSP나 Servlet 구동 환경 제공하며 Web Server의 역할을 함

       - 대표적인 예시로 Tomcat 

 

#3. WAS가 Web Server 역할을 할 수 있다면 굳이 분리해서 구성하는 이유?

1. 보안측면

- 기업에서 사용하는 시스템의 경우 SSL을 적용하는 경우가 많은데, 보안 이슈로 SSL를 Web Server에 적용하고 WAS와 통신을 하는 경우가 많다. 어쨌든 물리적으로 분리되어 있으므로...

2. 기능측면

- WAS는 로직 처리가 필요하기에 Web Server에서 처리할 수 있는 기능들을 분리해서 Client에 제공하는게 좋고 부하가 커지게 되면 속도가 지연됨

- 이중화 구성을 통해 (Web Server 하나 당 WAS 여러대 통신) 장애에 대응할 수 있음

 

#4. 방화벽 통신

방화벽은 외부 트래픽의 경우 특정 포트를 통해서만 사설 네트워크망에 접근 가능한 구조. 쉽게 말해 외부 네트워크와 내부 네트워크를 분리하고, 지정된 외부 IP가 특정 포트로 접근 시에 내부 네트워크와 연결 가능하다고 보면 된다.

 

#5. 포트 번호는 왜 나눠져 있는가?

각 프로세스에 고유한 포트 번호를 할당해서 프로세스를 구분하기 위해 포트 번호를 나뉘어 놨다고 한다. 

가장 이해가 잘 되었던 예시는 

https는 443, http는 80번을 쓰는데, 80번이나 443번 포트로 들어오면 컴퓨터가 식별한 뒤 웹 브라우저로 데이터를 전달한다고 한다. 

포트번호 프로세스
20 FTP(파일 전송)
25 SMTP(이메일 전송)
80 HTTP
443 HTTPS

 

Web Server는 Public IP를 지정하여 80번 포트를 사용하여 서비스를 제공한다. WAS에 접속하기 위해서는 IP와 포트 번호를 함께 입력해야 한다.

포트 번호를 입력하지 않으면 자동으로 80번으로 들어가서 다른 포트 사용시에는 지정해서 접속해줘야 한다.