Developers often need to access their locally running applications over the internet during development and testing. Whether you are building a new web app or troubleshooting issues in an existing one, having the ability to easily share your local environment with team members and testers is invaluable.
Traditionally, publishing a locally running app on the public internet required configuring port forwarding on your router or using tunneling software like ngrok. These options can be complex to set up and often come with limitations.
In this post, we’ll explore how to leverage Cloudflare’s TryCloudflare service to seamlessly Set Up TryCloudflare to Access Your Local Application Over the Internet. With just a few commands, you can instantly Make private site public using cloudflared. Read on to learn how to easily Host a localhost service on the internet using TryCloudflare.
What is Required to Host a Localhost Service on the Internet?
In general, publishing a locally running web server on the public internet requires:
- A public IP address – Your local machine likely uses a private IP address behind a router, so you need a way to expose it publicly.
- Port forwarding – Opening a port on your router’s firewall and forwarding traffic from that port to your local web server’s port.
- A domain name – To route traffic to your public IP address in a human-readable way.
- TLS/SSL encryption – Traffic should be encrypted for security, requiring SSL certificates.
- Client configuration – Any clients need to know how to reach your service’s new public location.
Setting all this up requires networking expertise and control over infrastructure like routers and DNS records. The process differs across operating systems and network configurations. Maintenance like certificate renewals adds overhead.
Tools like ngrok simplify aspects of this process through their tunneling and orchestration capabilities. But they come with restrictions on usage, features, and traffic volumes in their free tiers.
This highlights the need for a frictionless way to Host a localhost service on the internet using TryCloudflare that abstracts away these complexities and limitations.
What is TryCloudflare?
TryCloudflare is a service from Cloudflare that provides free, instant, and unlimited public access to web servers and sites running on your local machine.
With just a single command, TryCloudflare will spin up a Cloudflare Tunnel to your localhost and generate a random public subdomain on the trycloudflare.com domain. Traffic to this auto-generated subdomain is seamlessly routed through Cloudflare’s network to your local web server.
Some key capabilities provided by TryCloudflare include:
- Instant setup – Get a public URL to your localhost in seconds, without configuring DNS records, certificates, port forwarding or public IPs.
- Unlimited traffic – No restrictions on bandwidth or number of requests, unlike some tunneling tools.
- Global availability – TryCloudflare tunnels leverage Cloudflare’s 200+ data centers for low latency worldwide access.
- HTTPS encryption – Traffic is encrypted end-to-end by default for security.
- Web app firewall – Cloudflare’s WAF protects your origin from exploits and attacks.
- Argo Smart Routing – Improves performance with dynamic path optimization and peering.
- Simple CLI – The cloudflared daemon and command-line interface make TryCloudflare easy to use.
- No login required – Get started immediately without a Cloudflare account.
In summary, TryCloudflare simplifies the process of Publish local projects with cloudflared by handling all the complex networking and security requirements for you.
How Does TryCloudflare Work?
Under the hood, TryCloudflare relies on two Cloudflare technologies: Cloudflare Tunnel and the Cloudflare virtual network.
The Cloudflare Tunnel client (
cloudflared) runs locally on your machine as a daemon or service. When you invoke TryCloudflare,
cloudflared will establish an outbound-only connection from your machine to the nearest Cloudflare data center.
This creates a secure Tunnel that encapsulates traffic and hands it off to Cloudflare’s network. No incoming ports need to be opened on your local firewall.
cloudflared registers the Tunnel with a randomly generated UUID subdomain under trycloudflare.com.
Inside the Cloudflare network, incoming requests addressed to this subdomain are routed through the Tunnel to your origin web server running locally. As traffic leaves Cloudflare to your machine, it passes through the Cloudflare Web Application Firewall for inspection. This protects your local machine from web-based attacks.
The Cloudflare virtual network globally load balances and optimizes connectivity between data centers. Your tunnel takes advantage of Argo Smart Routing and other performance enhancements as traffic flows through Cloudflare’s network.
cloudflared proxies web traffic arriving from the Tunnel to your web server running on localhost. This could be a Node.js app listening on port 8000, for example. The TryCloudflare architecture keeps your machine hidden behind Cloudflare’s network.
In summary, TryCloudflare provides a direct, secure tunnel from a public URL to your localhost service, bypassing the need to configure DNS records, firewall rules, TLS certificates, and more. The setup process takes just seconds.
Prerequisites to Set Up TryCloudflare
TryCloudflare has minimal requirements, given all the complexity it abstracts away. Here’s what you need:
cloudflareddaemon installed on your local machine.
- An active web server or application listening on localhost.
- An internet connection.
That’s it! There’s no need for a Cloudflare account or login. And
cloudflared can be installed quickly using package managers like
choco depending on your operating system.
Let’s walk through how to get set up on an Ubuntu Linux machine. We’ll assume you have a web server running on port 8000 locally that you want to share.
How to Set Up TryCloudflare to Access Your Local Application Over the Internet?
Follow these steps to start routing traffic to your local web server through a TryCloudflare tunnel:
Time needed: 5 minutes
How to Set Up TryCloudflare to Access Your Local Application Over the Internet?
- Install cloudflared
On Ubuntu, we can install the
apt. Follow these commands to install on Ubuntu.
# Add cloudflare gpg key
sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
# Add this repo to your apt repositories
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared jammy main' | sudo tee /etc/apt/sources.list.d/cloudflared.list
# install cloudflared
sudo apt-get update && sudo apt-get install cloudflared
If you want to download and install on other platforms like Windows and macOS, check out here.
- Verify the installation of cloudflared
Run this version check command to verify the installation of cloudflared:
- Start your local web server
You can run your application on Apache, Nginx, npm, or any webserver. You need to make sure your service is running on localhost.
In this demo, we have installed the Splunk Enterprise server on our local machine. We access Splunk at http://localhost:8000.
- Initiate a TryCloudflare tunnel
Run the following command in your terminal, replacing
localhost:8000with your app’s origin:
cloudflared tunnel --url localhost:8000
This will establish a Cloudflare Tunnel between your machine and Cloudflare’s network.
- Use the generated subdomain to access your local service over the internet
The output from the
cloudflaredthe command will include a unique subdomain on trycloudflare.com that now points to your local web server:
Visit this URL in your browser and you should see your web app served through the tunnel!
Feel free to share the URL with anyone you want them to access. Traffic to that subdomain will be routed to your dev environment. No more port forwarding hassles!
That’s all it takes to get any web application or API running locally exposed to the public web in just seconds. The tunnel and subdomain will remain active as long as
cloudflared keeps running.
In this post, we walked through how to instantly Host a localhost service on the internet using TryCloudflare. With just the
cloudflared tool installed locally and a web server running, you can generate a public URL that securely routes traffic to your local environment.
TryCloudflare makes it incredibly easy to:
- Let team members and testers access your local development work
- Conduct performance testing from multiple regions
- Gather feedback on work-in-progress projects
…and more. Both developers and operations teams can benefit from TryCloudflare as it takes the headache out of exposing internal services for shared access.
We barely scratched the surface of Cloudflare Tunnel’s capabilities and integrations here. For more robust usage, Cloudflare provides 1-click app installs, custom hostnames, and integration with other Cloudflare tools like Access for authentication. Consider exploring TryCloudflare as an easy way to kick the tires on Cloudflare’s edge network.
So next time you need to make your private site public using cloudflared, turn to TryCloudflare for an instant, unlimited, and secure tunnel to your localhost. No networking expertise is required!