“cloudflared” is a command-line tool that enables you to establish a persistent and secure connection to the Cloudflare network. It serves as a tunneling agent that allows you to securely access resources on the Cloudflare network or expose your own local services to the internet through Cloudflare’s global network.
The primary purpose of “cloudflared” is to provide a secure and reliable way to connect your local services, such as web servers or APIs, to Cloudflare’s network. By establishing this connection, you can benefit from Cloudflare’s security, performance, and reliability features, even for services running on your local machine or within a private network.
When you run “cloudflared” on your command line, it sets up an encrypted tunnel between your local machine and the Cloudflare network. This tunnel ensures that the traffic between your local services and the Cloudflare network remains protected and private.
Some key features of “cloudflared” include:
- Secure Tunneling: “cloudflared” creates an encrypted tunnel using the HTTPS protocol, ensuring the confidentiality and integrity of your data as it passes through the Cloudflare network.
- Access to Cloudflare Services: By connecting to the Cloudflare network through “cloudflared,” you can access various Cloudflare services, such as Cloudflare Access, which provides secure authentication and authorization for your applications or APIs.
- Exposing Local Services: “cloudflared” enables you to expose your local services to the internet securely. By configuring the tool, you can route incoming requests to your local services through the Cloudflare network, adding an additional layer of security and performance optimization.
- Load Balancing: “cloudflared” supports load balancing of traffic between multiple instances of your local services, distributing the load across multiple endpoints and ensuring high availability and scalability.
- Automatic HTTPS: When exposing your local services to the internet using “cloudflared,” it can automatically obtain SSL/TLS certificates from Let’s Encrypt, enabling secure HTTPS connections for your services.
“cloudflared” is particularly useful in scenarios where you want to leverage the benefits of Cloudflare’s global network, security features, or additional services for your local applications or services. It simplifies the process of securely connecting your local infrastructure to Cloudflare, providing a seamless and reliable experience.
It’s important to note that “cloudflared” supports various configuration options, allowing you to customize the behavior of the tunnel and specify the services or endpoints you want to connect to Cloudflare.
cloudflared Command Examples
1. Authenticate and associate the connection to a domain in the Cloudflare account:
# cloudflared tunnel login
2. Establish a tunnel to a host in Cloudflare from the local server:
# cloudflared tunnel --hostname hostname localhost:port_number
3. Establish a tunnel to a host in Cloudflare from the local server, without verifying the local server’s certificate:
# cloudflared tunnel --hostname hostname localhost:port_number --no-tls-verify
4. Save logs to a file:
# cloudflared tunnel --hostname hostname http://localhost:port_number --loglevel [panic|fatal|error|warn|info|debug] --logfile /path/to/file
5. Install cloudflared as a system service:
# cloudflared service install
In summary, “cloudflared” is a command-line tool that establishes a persistent and secure connection between your local services and the Cloudflare network. It allows you to securely access Cloudflare services, expose your local services to the internet through Cloudflare’s network, and benefit from Cloudflare’s security and performance features. By using “cloudflared,” you can enhance the availability, security, and performance of your local services by leveraging Cloudflare’s global infrastructure and services.