이 글에서는 WebtoB 웹 서버를 사용하여 정적 콘텐츠 제공 대상을 어떻게 설정하는지에 대해 자세히 설명합니다. 서버 부하 방지, 성능 및 가용성 보장, 그리고 보안 강화를 위한 방법을 배우세요.
웹 서버 최적화: 정적 콘텐츠 관리와 성능 보장 전략
웹에서 정적 콘텐츠와 동적 콘텐츠를 분리하는 것은 웹 서비스의 성능 향상과 보안 강화에 중요한 역할을 합니다. 이를 위한 주요 전략은 다음과 같습니다.
○ 서버 부하 방지를 위한 기능적 역할 분리
웹 애플리케이션 서버(WAS)는 데이터 조회, 출력 등 다양한 로직 처리를 위해 많은 서버 자원을 사용합니다. 이는 동적 콘텐츠를 처리하는 데 필요한 복잡한 작업을 수행하기 때문입니다. 반면, 이미지나 PDF와 같은 단순한 정적 콘텐츠는 복잡한 처리 없이도 클라이언트에게 바로 전달될 수 있습니다. 따라서 이러한 정적 콘텐츠는 앞 단에 위치한 웹 서버에서 빠르게 응답하는 것이 효율적입니다. 이를 통해 서버의 부하를 줄이고, 전반적인 웹 서비스의 성능을 향상시킬 수 있습니다. 이는 특히 트래픽이 많은 웹 서비스에서 중요한 전략이 될 수 있습니다.
○ 성능 및 가용성 보장
웹 로드 밸런싱은 여러 서버에 웹 트래픽을 분산시키는 기능으로, 이를 통해 단일 서버에 과도한 부하가 걸리는 것을 방지하고 전반적인 웹 서비스의 성능을 향상시킬 수 있습니다. 또한, 웹 애플리케이션 서버(WAS) 서비스에 장애가 발생했을 때도 Fail-over 기능 설정(SvrChkTime)을 통해 성능 및 가용성을 보장할 수 있습니다. Fail-over는 주 서버에 문제가 발생했을 때 백업 서버로 자동으로 전환하는 기능을 말합니다. 이러한 기능들은 웹 서비스의 안정성을 높이는 데 중요한 역할을 합니다.
○ 보안 강화
웹 서비스 요청 대상은 대부분 Any Client로 접근 가능한 DMZ 구간에 웹 서버를 구성하고, Public Service port를 제공해야 합니다. 이렇게 하면, 외부의 모든 클라이언트가 웹 서비스에 접근할 수 있게 됩니다. 반면, 웹 애플리케이션 서버(WAS)는 Private 한 내부망 구성으로, 외부에서 직접 접근이 불가능하도록 보안을 강화해야 합니다. 이렇게 하면, WAS는 보안 위협으로부터 보호받게 됩니다. 또한, 클라이언트와 서버 사이의 무결성 통신을 보장하기 위해 TLS(Transport Layer Security) 설정을 웹 서버에 구성하는 것이 중요합니다. TLS는 클라이언트와 서버 사이의 통신을 암호화하여, 외부 공격자가 데이터를 도청하거나 변조하는 것을 방지합니다. 이렇게 하면, 외부 공격에 의한 이슈를 사전에 차단할 수 있습니다.
추가로, 웹 서버의 성능을 최적화하는 다른 전략들도 있습니다. 예를 들어, 캐싱 전략을 사용하면 서버의 부하를 줄이고 응답 시간을 개선할 수 있습니다. 또한, CDN(Content Delivery Network)을 사용하면 전 세계 어디서든 빠른 웹 서비스를 제공할 수 있습니다. 이러한 원칙들은 웹 서버 설정과 관리에 있어 중요한 가이드라인을 제공하며, 특히 WebtoB와 같은 웹 서버 소프트웨어를 사용할 때 참고하면 유용합니다.
WebtoB 설정: 정적 콘텐츠 제공 대상 설정 예제
WebtoB 웹 서버에서는 http.m 설정 파일을 통해 정적 콘텐츠 제공 대상을 설정할 수 있습니다. 이 설정 파일은 WebtoB의 동작을 제어하는 중요한 구성 요소로, 여기에 정의된 설정에 따라 WebtoB는 어떤 요청을 웹 서버에서 처리할지, 어떤 요청을 웹 애플리케이션 서버로 전달할지를 결정합니다.
※ http.m 환경 설정 파일
*URI
uri1 Uri = "/chatbot/",
SvrType = JSV,
SvrName = chatbotGroup, VhostName = "chatbot_web"
uri2 Uri = "/",
SvrType = JSV,
SvrName = smartGroup, VhostName = "smart_web"
*EXT
htm Mimetype = "text/html", SvrType = HTML
html Mimetype = "text/html", SvrType = HTML
hdf Mimetype = "application/x-hdf", SvrType = HTML
hwp Mimetype = "application/x-hwp", SvrType = HTML
pdf MimeType = "application/x-pdf", SvrType = HTML
css MimeType = "text/css", SvrType = HTML
jpe MimeType = "image/jpeg", SvrType = HTML
jpeg MimeType = "image/jpeg", SvrType = HTML
mpeg MimeType = "video/mpeg", SvrType = HTML
ppt MimeType = "application/vnd.ms-powerpoint", SvrType = HTML
png MimeType = "image/png", SvrType = HTML
bmp MimeType = "image/bmp", SvrType = HTML
exe MimeType = "application/octet-stream", SvrType = HTML
avi MimeType = "video/video-x-msvideo", SvrType = HTML
mpeg MimeType = "video/mpeg", SvrType = HTML
xml MimeType = "text/xml", SvrType = HTML
zip MimeType = "application/zip", SvrType = HTML
js MimeType = "application/x-javascript", SvrType = HTML
jsp MimeType = "application/jsp", SvrType = JSV
이 예제 코드에서는 MIME-Type에 따라 정적 콘텐츠 제공 대상을 설정하는 방법을 보여줍니다. 대부분의 웹 서버는 기본적으로 다양한 MIME-Type을 제공하므로, 모든 항목들을 EXT절에 설정할 필요는 없습니다.
중요한 점은, 서비스 상황에 맞게 SvrType으로 웹 서버 제공 대상을 지정해 주는 것입니다. 특히, SvrType을 'JSV'로 설정하면, 해당 요청은 웹 애플리케이션 서버(WAS)로 전송되게 됩니다. 이는 동적 콘텐츠를 처리하는데 필요한 로직이 WAS에 있을 경우 유용합니다. 이렇게 설정함으로써, 웹 서버는 단순한 정적 콘텐츠 처리에 집중하고, 복잡한 로직 처리는 WAS에게 맡기므로 서버의 부하를 효과적으로 분산시킬 수 있습니다.
※ WebServer 정적 콘텐츠 분리 및 index 페이지 설정하기.
[WebtoB] 정적 콘텐츠 분리 및 index 페이지 설정하기
WEB Server 정적 콘텐츠 분리 및 index 페이지 설정 배경 시스템 정기점검 PM이나 백본 스위치 교체 등 인프라 작업으로 인해 서비스 중단이 발생하는 경우 작업 공지에 대한 방안을 모색하게 된다.
aday7.tistory.com
'IT 개발 이야기 > WEB | WAS' 카테고리의 다른 글
리버스 프록시(Reverse Proxy) 쉽게 이해하기: 개념부터 필요성, 오픈 소스 솔루션까지 (1) | 2023.05.08 |
---|---|
[WebtoB 가이드] 웹 서버 에러 페이지 설정 방법 (0) | 2023.02.06 |
WEBTOB 환경 설정 파일 컴파일과 재기동: http.m 파일의 이해와 활용 (3) | 2023.02.06 |
[WebtoB] 정적 콘텐츠 분리 및 index 페이지 설정하기 (0) | 2023.02.03 |
댓글