- https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup
- https://hub.docker.com/r/cloudflare/cloudflared
- https://github.com/cloudflare/cloudflared/
- Authenticate with Cloudflare -> cloudflared tunnel login
sudo docker run -it --rm --name=cloudflared -v /root/.cloudflared:/home/nonroot/.cloudflared cloudflare/cloudflared:2022.2.0 tunnel login
- Create tunnel -> cloudflared tunnel create
<tunnel-name>
sudo docker run -it --rm --name=cloudflared -v /root/.cloudflared:/home/nonroot/.cloudflared cloudflare/cloudflared:2022.2.0 tunnel create example-tunnel
- Add DNS route internal.example.com to tunnel -> cloudflared tunnel route dns
<tunnel-name>
<route-hostname>
sudo docker run -it --rm --name=cloudflared -v /root/.cloudflared:/home/nonroot/.cloudflared cloudflare/cloudflared:2022.2.0 tunnel route dns example-tunnel internal.example.com
- Add DNS route app1.example.com to tunnel -> cloudflared tunnel route dns
<tunnel-name>
<route-hostname>
sudo docker run -it --rm --name=cloudflared -v /root/.cloudflared:/home/nonroot/.cloudflared cloudflare/cloudflared:2022.2.0 tunnel route dns example-tunnel app1.example.com
- Run tunnel in detached docker container -> cloudflared tunnel run
sudo docker run -it --rm --name=cloudflared --network="host" -d -v /root/.cloudflared:/home/nonroot/.cloudflared cloudflare/cloudflared:2022.2.0 tunnel run
/root/.cloudflared/config.yml
tunnel: *******************
credentials-file: /root/.cloudflared/***-*-*-*-****.json
ingress:
- hostname: internal.example.com
service: https://127.0.0.1:8443
originRequest:
noTLSVerify: true
- hostname: app1.example.com
service: http://192.168.1.10:8990
- service: http_status:404