2023년 9월 CasaOS 튜토리얼은 단순한 링크 추천이 아니라 실제 단계별 게시물입니다. 당시 CasaOS 사용자가 따랐던 전체 과정을 보여 줍니다. Cloudflared 앱을 설치하고, 원격으로 관리되는 Cloudflare Tunnel을 생성한 다음, 커넥터 토큰을 복사하고, 해당 토큰을 CasaOS Cloudflared 웹 UI에 붙여 넣고, 커넥터를 시작한 뒤, Cloudflare에서 터널 상태가 정상(Healthy)으로 표시되는지 확인하는 과정입니다.
핵심 아키텍처는 여전히 유용하지만, 장기간 게시할 페이지라면 두 가지를 업데이트해야 합니다. 첫째, Cloudflare Zero Trust 인터페이스가 2023년 이후 변경되었습니다. 둘째, 최신 Cloudflare Tunnel 설정에 표시되는 커넥터 토큰은 민감한 자격 증명이므로 스크린샷에 노출하거나 다른 사용자의 예제에서 복사해서는 안 됩니다.
이것은 ZimaOS 절차가 아닌 CasaOS 튜토리얼입니다
이 소스는 CasaOS 카테고리에 속하며, 자체적인 간단한 Cloudflared 웹 UI가 포함된 CasaOS 앱 스토어 패키지를 사용합니다. ZimaOS에서도 동일한 업스트림 Cloudflare 기술이 실행될 수 있지만, 앱 관리 인터페이스와 네트워킹 모델이 2023년 스크린샷과 정확히 일치한다고 가정해서는 안 됩니다.
1단계: CasaOS 앱 스토어에서 Cloudflared 설치
이 앱의 목적은 홈 서버에서 Cloudflare 커넥터를 실행하는 것입니다. 커넥터는 Cloudflare로 향하는 아웃바운드 암호화 경로를 설정하므로, 터널을 온라인 상태로 유지하기 위해 라우터에 새로운 인바운드 포트 포워딩 규칙을 추가할 필요가 없습니다.
2단계: Cloudflare Zero Trust에서 터널 생성
특정 애플리케이션이 아니라 서버나 위치를 식별할 수 있는 이름으로 터널 이름을 지정하세요. 하나의 커넥터로 여러 호스트 이름이나 서비스를 라우팅할 수 있으므로, 예를 들어 홈-CasaOS 또는 서버실 보다 오래 사용하기에 적합 Jellyfin 전용.
3단계: 커넥터 토큰을 비공개로 복사
현재 Cloudflare 안내에서는 보안 경계를 명확히 설명합니다. 터널 토큰만 있으면 원격으로 관리되는 해당 터널의 커넥터를 실행할 수 있습니다. 비밀번호처럼 취급하세요. 실제 토큰이 공개 스크린샷이나 로그에 노출된 적이 있다면 토큰을 교체하세요.
4단계: CasaOS Cloudflared 웹 UI 열기
기존 패키지는 CasaOS 앱 아이콘에서 실행되는 간단한 인터페이스를 제공했습니다. 이 UI에서는 커넥터 토큰을 입력할 수 있어 사용자가 전체 Docker 명령을 직접 작성하지 않아도 되었습니다.
이 편의 기능은 해당 CasaOS 패키지에 포함되어 있었습니다. 현재 Cloudflared 컨테이너는 환경 변수, 명령줄 인수, Compose 파일 또는 현재 패키지의 설정을 통해 구성할 수 있습니다.
5단계 및 6단계: 토큰 저장 및 커넥터 시작
2023년 UI에서는 토큰을 붙여 넣고 저장하면 버튼 상태가 Start로 변경되었습니다. 커넥터를 시작하면 상태가 Stop으로 바뀌었습니다. 이러한 시각적 상태는 패키지에 따라 달랐지만, 구성 저장이 승인되었는지 확인한 다음 커넥터 프로세스가 실제로 실행되었는지 확인하는 두 가지 별도 검사를 나타냅니다.
최신 커넥터가 즉시 종료되면 DNS 레코드를 변경하기 전에 로그를 확인하세요. 연결되지 않은 터널은 Cloudflare DNS 구성과 관계없이 호스트 이름을 라우팅할 수 없습니다.
마지막 단계: 터널이 정상인지 확인
원본 튜토리얼에서는 Cloudflare Tunnels 목록으로 돌아가 정상(Healthy) 상태인지 확인했습니다. 이는 여전히 중요한 검증 단계입니다. 퍼블릭 호스트 이름이 구성되었다고 해서 커넥터 자체가 연결되어 있다는 뜻은 아닙니다.
정상(Healthy)이란 Cloudflare가 해당 터널에 연결된 활성 커넥터를 하나 이상 확인할 수 있다는 의미입니다. 이는 아직 커넥터가 그 뒤의 로컬 애플리케이션에 연결할 수 있음을 입증하지는 않습니다.
올바른 로컬 서비스로 라우팅 추가
커넥터가 온라인 상태가 된 후 호스트 이름을 실제 애플리케이션 원본에 연결하세요. HTTP 애플리케이션의 경우 LAN IP와 포트 조합이나 Cloudflared가 연결할 수 있는 다른 컨테이너 주소를 사용할 수 있습니다.
Cloudflared가 일반 Docker 브리지 네트워크 내부에서 실행되는 경우 localhost Cloudflared 컨테이너 자체를 가리킵니다. 이것이 자동으로 CasaOS 호스트를 의미하는 것은 아닙니다. 이 구분을 놓치는 것이 정상 상태인 터널에서 502 또는 연결 오류가 발생하는 가장 흔한 원인 중 하나입니다.
라우터 포트 포워딩이 필요하지 않은 이유
커넥터는 CasaOS에서 Cloudflare로 나가는 연결을 생성합니다. 들어오는 브라우저 요청은 Cloudflare에 도착한 후, 이미 설정된 터널을 통해 다시 전달됩니다. 따라서 라우터에 인바운드 포트 포워딩이 구성되어 있지 않아도 Cloudflare Tunnel로 서비스를 게시할 수 있습니다.
민감한 서비스를 Cloudflare Access로 보호하기
터널은 전송 수단이지 인증 정책이 아닙니다. 대시보드, 터미널, 비밀번호 관리자 또는 관리 UI를 공개 호스트 이름으로 게시하는 경우 Cloudflare Access나 적절한 다른 인증 계층을 사용해 ID 정책을 추가하세요.
애플리케이션 자체 인증도 활성화된 상태로 유지하세요. Cloudflare Access와 애플리케이션 인증은 서로 다른 경계를 보호합니다.
배포 담당자가 변경되면 토큰 교체
서버를 판매하거나, 재구축하거나, 다른 관리자에게 넘긴 경우에는 기존 터널 자격 증명을 취소하거나 교체하세요. 영구 Docker 볼륨은 예상보다 오래 구성을 보존할 수 있으므로, 자격 증명 수명 주기를 신중하게 관리해야 합니다.
CasaOS의 Cloudflare Tunnel FAQ
Cloudflare Tunnel을 사용하려면 포트 포워딩이 필요한가요?
아니요. 커넥터는 Cloudflare로 나가는 연결을 설정합니다.
기존 CasaOS 튜토리얼에서는 어떤 구성을 사용했나요?
사용자가 원격으로 관리되는 터널 토큰을 붙여넣은 작은 Web UI가 있는 Cloudflared 앱입니다.
튜토리얼 스크린샷에 커넥터 토큰을 표시해도 안전한가요?
아니요. 실제 토큰은 비밀로 취급하고, 노출되었다면 교체하세요.
Healthy이면 내 애플리케이션에 이미 연결할 수 있다는 뜻인가요?
반드시 그런 것은 아닙니다. Healthy는 커넥터가 온라인 상태임을 확인해 주지만, 원본 경로와 애플리케이션 설정은 여전히 올바라야 합니다.
