문제의 원인
Cloudflare Tunnel을 위한
cloudflared 는 sudo 권한으로 실행해야 하고, 단순 설치시(프로세스 이름 등을 변경하지 않는 경우) 단일 Worker만 실행을 허용한다.한편, 한 계정에서만 사용시 단일 worker로 여러 도메인을 연결하는 것이 가능해 사용에 문제가 없지만, 만약 여러 Cloudflare 계정의 Tunnel을 한 기기에 설치하려고 할 때 문제가 발생한다.
- 한편,
a.com이 내 계정에 있지만,b.com이 타 계정(회사 계정 등..)으로 연결되어있는 상황에서xxx.a.com과xxx.b.com을 모두 한 Node로 연결하려고 할때 → 문제가 발생한다.
해결법
Cloudflare Tunnel Daemon을 Docker로 띄우자!
이유
- Tunnel 데몬을 Docker로 띄울 경우 기본적으로
localhost등 네트워크는 도커에서 관리하는 네트워크 인터페이스를 따라감 → 즉 Tunnel이 보는 기본 IP 대역은192.168.x.x가 아니라172.17.0.x대역
- 한편 도커에서는 로컬 IP 대역(
192.168.x.x)에 대해서 접근이 가능, 그리고localhost혹은172.0.0.1대신172.17.0.1ip를 통해서 로컬에localhost:8000등처럼 띄운 서비스에 접근이 가능함
