AI Briefing

배달의민족, 배포 없이 앱에서 로컬 웹 개발 확인하는 터널링 프록시 '잇다' 공개

·2026.08.04 15:17

핵심 내용

배달의민족이 배포 과정 없이 앱에서 로컬 웹 환경을 즉시 확인할 수 있는 터널링 기반 프록시 시스템 '잇다'를 개발했다.

자세히 보기

배달의민족은 네이티브 앱과 웹뷰가 결합된 하이브리드 구조로, 웹 개발 시 베타 배포와 캐시 무효화 등 복잡한 절차를 거쳐야 하는 비효율이 존재했다. 이를 해결하기 위해 사내 환경에 최적화된 터널링 기반 프록시 시스템 **'잇다'(ITDA, Instant Tunnel for Development Apps)**를 개발했다.

트래픽 전환 방식의 선택

개발 환경으로의 트래픽 전환을 위해 세 가지 방식을 검토한 결과, CloudFront Function(CFF)을 활용한 302 Redirect 방식을 채택했다.

  • CFF Rewrite: 내부 목적지만 변경하는 방식으로 보안 요구사항 충족이 어려워 기각됨
  • 앱 내부 호스트 라우팅: 앱 네이티브 계층에서 분기하는 방식으로, 도메인 추가 시 앱 수정과 배포가 필요해 기각됨
  • CFF Redirect: ITDA용 요청을 판별해 프록시로 재요청하도록 안내하며, 앱 수정 없이 트래픽을 명확히 분리할 수 있어 채택됨

'잇다'의 작동 원리

'잇다'는 개발자의 로컬 컴퓨터와 ITDA 프록시 간에 WebSocket 연결을 미리 수립하여 터널을 형성한다.

  1. 요청 판별: 사용자가 베타앱에서 ITDA용 프로파일을 선택하면, CFF가 요청 헤더의 remote_config_profile 값을 확인한다.
  2. 라우팅 정보 전달: ITDA용 요청일 경우 라우팅 정보를 쿠키에 담아 프록시로 302 Redirect한다.
  3. 터널 매칭: 프록시는 쿠키의 정보와 등록된 라우팅 규칙을 비교해 해당 개발자의 로컬 서버로 연결된 터널을 찾아 요청을 전달한다.
  4. 멀티플렉싱: 하나의 WebSocket 터널 내에서 요청별 고유 ID를 부여하여 HTML, JS, CSS 등 다양한 리소스를 효율적으로 처리한다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.