PC상에서 개발 중인 웹 앱을 외부에서 확인하려면, 포트 개방이나 서버 설정 등 꽤나 번거로운 일이 필요합니다. 이전에 리뷰했던 “클라우드플레어 터널”에서 더욱 간편해졌고, 계정 등록이 불필요하며 명령어를 하나만으로도 이용이 가능하고 AI에 적합한 JSON 출력에도 대응하는 “클라우드플레어 퀵 터널즈”를 직접 사용해 보았습니다. 클라우드플레어 퀵 터널즈 https://try.cloudflare.com/
◆Cloudflare Quick Tunnels 설치
이번에 Windows11에 패키지 매니저인 WinGet이 이용 가능한 환경에서, 다음 명령을 실행하여 명령줄 도구 “cloudflared”를 설치하면 준비 완료입니다.
◆localhost를 1명령어로 인터넷으로 공개
작동 확인용으로 작업 폴더에 “index.html”을 생성합니다. Git for Windows의 Git Bash를 이용할 경우.
Python의 간단한 HTTP 서버를 8000번 포트에서 실행합니다.
브라우저에서 “http://localhost:8000”로 접속하면, PC 안에서만 동작하는 테스트 페이지를 확인할 수 있습니다.
다음으로 다른 Git Bash를 열고, 다음 명령을 실행합니다.
클라우드플레어 계정에 로그인하거나 DNS 설정을 하지 않아도 임의의 문자열을 포함하는 “trycloudflare.com” URL이 발행됩니다.
◆ 스마트폰에서 localhost로 접속, 발행된 URL을 PC와 별도 회선의 모바일 기기에서 열면 테스트 페이지가 표시되었습니다.
이는 외부에서 PC에 직접 연결하는 것이 아니라 cloudflared에서 클라우드플레어로 Estabished된 외향적인 암호화 연결을 통해 요청이 localhost로 전달되는 메커니즘으로, 라우터 측면에 수신용 포트를 개방할 필요가 없습니다.
◆ 이메일 주소로 접속 제한, 일반적인 Quick Tunnel은 URL을 알 수 있는 누구나 접속할 수 있지만, “--allowed-mail” 옵션을 추가하여 지정한 이메일 주소로 전송되는 단일회용 PIN 인증을 추가할 수 있습니다.
생성된 URL에 접속하면 이메일 주소 입력 화면이 표시되어 “Email”에 설정한 이메일 주소를 입력하고 “Send login code”를 클릭합니다.
이메일 주소로 인증 코드가 전송되어 “Code”에 입력하고 “Verify”를 클릭합니다.
테스트 페이지가 표시됩니다.
◆AI 에이전트에서 처리 가능한 JSON 형식의 명령어에 "--output json" 옵션을 추가하여 실행하면…
스크립트나 AI 코딩 에이전트가 분석하기 쉬운 JSON 형식으로 정보를 획득할 수 있습니다.
◆Quick Tunnels는 개발 및 테스트용으로 Quick Tunnels는 일시적인 개발 환경용 기능으로 “cloudflared”를 종료하면 공개 URL도 이용할 수 없게 되며, 새롭게 Tunnel을 생성할 때마다 호스트명도 변경됩니다. 또한, 1개의 Quick Tunnel에서 처리 중에 가능한 요청은 최대 200건이며, Server-Sent Events(SSE)에도 대응하지 않으며, Cloudflare도 본番 환경에서는 일반적인 Cloudflare Tunnel을 이용하도록 안내하고 있습니다.◆Cloudflare Quick Tunnels의 평가 소셜 계열 뉴스 사이트인 Hacker News에서는 Cloudflare Quick Tunnels에 대해 다양한 논의가 진행되고 있으며, “Homebrew로 설치하여 15초 정도 내에 동작하는 Tunnel을 만들 수 있었다”는 평가가 있는 한편, “Cloudflare Quick Tunnels는 5년 이상 전부터 존재해 왔으며, 2021년의 기능임을 제목에 명시해야 한다”는 의견도 게시되고 있습니다. 또한, ngrok의 창업자는 ngrok에서는 익명 이용이 서비스상의 악용의 큰 원인이 되었기 때문에 이전부터 폐지한 바 있어, 계정 불필요한 익명 Tunnel에 대해 보안 면에서 우려하는 의견을 게시하고 있습니다. 이에 대해 Cloudflare Tunnel 개발에 참여했던 adamch 氏は “Tunnel에 참여한 것은 제 커리어의 하이라이트이며, 버그 수정, 기능 추가, 아키텍처 설계 등에 참여했다”고 설명하고 있습니다. Quick Tunnels에서는 외부에서 PC로 직접 통신을 수락하는 대신 cloudflared 쪽에 Cloudflare로 연결하며, 생성된 URL 자체는 공개 URL이 되므로, 기밀 정보 포함 개발 환경에서는 "--allowed-mail"에 의한 인증을 조합하여 등 공개 범위를 의식한 이용이 중요합니다.
원문 보기 | 출처: Gigazine