cloudflared tunnel create <NAME> command creates a tunnel and assigns it a name. Once named, a tunnel is a persistent pathway within which you can stop and start as many as needed, adding stability and ease of use to your tunnel experience. Tunnel names do not need to be hostnames; for example, you can assign your tunnel a name that represents your application/network, a particular server, or the cloud environment where it runs. Just choose any identifier that lets you easily reference a tunnel whenever you need.
Users can create and configure a tunnel once and run it as multiple different
cloudflared processes. These processes are known as connectors, or replicas. DNS records and Cloudflare Load Balancers can still point to the tunnel and its UUID, while that tunnel sends traffic to the multiple instances of cloudflared that run through it. Using multiple connectors provides tunnels with high availability, scalability, and elasticity.
cloudflared uses a default directory when storing credentials files for your tunnels, as well as the
cert.pem file it generates when you run
cloudflared login. The default directory is also where
cloudflared will look for a if no other file path is when running a tunnel.
|OS||Path to default directory|
|MacOS and Unix-like systems|
This is a
.yaml file that functions as the operating manual for
cloudflared will automatically look for the configuration file in the , but you can store your configuration file in any directory. It is recommended to always specify the file path for your configuration file whenever you reference it. By creating a configuration file, you can have fine-grained control over how their instance of
cloudflared will operate. This includes operations like what you want
cloudflared to do with traffic (for example, proxy websockets to port
xxxx, or ssh to port
cloudflared should search for authorization (credentials file, tunnel token), and what mode it should run in (for example, ). In the absence of a configuration file, cloudflared will proxy outbound traffic through port
8080. For more information on how to create, store, and structure a configuration file, refer to the .
let users specify which local services traffic should be proxied to. If a rule does not specify a path, all paths will be matched. Ingress rules can be listed in your or when running
cloudflared tunnel ingress.
This is the certificate file issued by Cloudflare when you run
cloudflared tunnel login. This file uses a certificate to authenticate your instance of
cloudflared and it is required when you create new tunnels, delete existing tunnels, change DNS records, or configure tunnel routing from cloudflared. This file is not required to perform actions such as running an existing tunnel or managing tunnel routing from the Cloudflare dashboard. Refer to the for more details on when this file is needed.
cert.pem origin certificate is valid for at least 10 years, and the service token it contains is valid until revoked.
This file is created when you run
cloudflared tunnel create <NAME>. It stores your tunnel’s credentials in JSON format, and is unique to each tunnel. This file functions as a token authenticating the tunnel it is associated with. Refer to the for more details on when this file is needed.
Quick tunnels, when run, will generate a URL that consists of a random subdomain of the website
trycloudflare.com, and point traffic to localhost on port 8080. If you have a web service running at that address, users who visit the generated subdomain will be able to visit your web service through Cloudflare’s network. Refer to for more information on how to run quick tunnels.