EdgeOne Pages 미들웨어 기능 정식 출시, Next.js 미들웨어 엣지 배포 완벽 지원

EdgeOne Pages가 이제 공식적으로 미들웨어 기능을 지원하게 되었음을 기쁘게 알려드립니다. 이제 엣지 노드에서 사용자 요청을 가로채고 처리하며, 페이지 로딩 전에 커스텀 로직을 실행할 수 있어 애플리케이션의 응답 속도가 빨라지고 아키텍처가 더욱 유연해집니다.
왜 미들웨어가 필요한가요?
미들웨어는 요청이 최종 목적지에 도달하기 전에 실행되는 코드입니다. 사용자 요청을 가로채고 리다이렉트, 리라이트, 요청 헤더 수정 등의 작업을 수행할 수 있습니다. 이를 요청의 "문지기"라고 생각하시면 됩니다. 본격적인 처리 전에 먼저 필터링과 전처리를 수행합니다.
전통적인 아키텍처에서는 이러한 처리 로직을 오리진 서버로 보내 실행해야 했으며, 이는 지연 시간을 증가시킬 뿐만 아니라 오리진 서버에 추가적인 부담을 주었습니다. EdgeOne Pages의 미들웨어는 엣지 노드에서 실행되어 이러한 경량 처리 로직을 사용자와 가장 가까운 위치로 이동시킵니다. 요청이 오리진 서버에 도달하기 전에 판단과 처리를 완료할 수 있습니다.
사용 시나리오
미들웨어의 적용 시나리오는 주로 다음과 같은 카테고리로 분류됩니다:
- 트래픽 관리: 경로, 도메인, 쿠키, 지역 등의 조건에 따라 요청 라우팅을 동적으로 제어하여 카나리 배포, A/B 테스트, 국제화(i18n) 등의 기능을 구현합니다.
- 보안 보호: 엣지에서 토큰 인증, IP 제한, 지역 차단, Referer 핫링크 방지 등의 검증을 완료하여 악의적인 요청을 오리진 서버 외부에서 차단합니다.
- 성능 최적화: 특정 요청에 대해 JSON, HTML 또는 리다이렉트 응답을 직접 반환하여 불필요한 오리진 왕복을 줄이고 전체 응답 속도를 향상시킵니다.
프레임워크 지원
EdgeOne Pages는 플랫폼 수준의 범용 미들웨어 서비스를 제공합니다. 어떤 기술 스택을 사용하든 엣지 노드에서 커스텀 로직을 실행할 수 있습니다. 또한 주요 풀스택 프레임워크에 대한 적응도 완료하여, 프레임워크 네이티브 미들웨어 문법을 계속 사용할 수 있으며 배포 후 자동으로 엣지 노드에서 실행됩니다.
Next.js
Pages는 이제 Next.js 미들웨어를 완벽하게 지원하며, Middleware(Next.js 12+)와 Proxy(Next.js 16) 두 가지 작성 방식을 모두 호환합니다. 어떤 방식을 사용하든 문법은 Next.js 공식 문서와 일치합니다. Pages에 배포하면 미들웨어가 추가 설정 없이 자동으로 EdgeOne의 엣지 노드에서 실행됩니다.
Astro
Astro 미들웨어 적응 작업이 현재 진행 중입니다. 향후 버전에서 지원을 제공할 예정이오니 기대해 주세요.
시작하기
미들웨어 기능은 이제 모든 Pages 사용자에게 제공됩니다. 자세한 내용은 문서를 확인하세요. 사용 중 질문이 있으시면 Discord 커뮤니티에 참여하여 피드백을 공유해 주세요.