<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: RealChaika</title>
    <description>The latest articles on DEV Community by RealChaika (@realchaika).</description>
    <link>https://dev.to/realchaika</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778552%2Fd97b7c8c-bae4-4c29-896a-be3dd00e59f7.png</url>
      <title>DEV Community: RealChaika</title>
      <link>https://dev.to/realchaika</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/realchaika"/>
    <language>en</language>
    <item>
      <title>How to setup a Cloudflare tunnel (New - Using GUI Method)</title>
      <dc:creator>RealChaika</dc:creator>
      <pubDate>Sat, 26 Mar 2022 13:58:13 +0000</pubDate>
      <link>https://dev.to/realchaika/how-to-setup-a-cloudflare-tunnel-new-using-gui-method-4maf</link>
      <guid>https://dev.to/realchaika/how-to-setup-a-cloudflare-tunnel-new-using-gui-method-4maf</guid>
      <description>&lt;p&gt;&lt;a href="https://blog.cloudflare.com/ridiculously-easy-to-use-tunnels/" rel="noopener noreferrer"&gt;Cloudflare recently announced the new ability to create tunnels in just three steps, right from the dashboard.&lt;/a&gt; This made making new tunnels go from a process that could take you ~15-30 minutes to fully configure and understand, to something that you could do in less than 5 minutes, and get a fully set up, running as a service, production ready tunnel.&lt;/p&gt;

&lt;h1&gt;
  
  
  What are Cloudflare Tunnels
&lt;/h1&gt;

&lt;p&gt;Cloudflare Tunnels can be used to expose internal services using outbound only connections. Think Ngrok tunnels. Cloudflare Tunnels can be used to proxy normal http/https connections, ssh/vnc, as well as more advanced things like arbitrary TCP, with some more restrictions.&lt;/p&gt;

&lt;p&gt;The advantage of using Cloudflare Tunnels is not having to open any ports on your web server, no need for anything like IP Restrictions, Origin Cert checking, etc. Cloudflare Tunnels also use http/2 to connect to Cloudflare's Edge (soon http3/quic), whereas normally Cloudflare will only connect to an origin over http/1.1 (except for gRPC).&lt;/p&gt;

&lt;p&gt;This guide will focus on setting up a tunnel for a normal web server over http. It's important to remember that since the tunnel is acting as a proxy for traffic, the web server (or whatever you are exposing via the tunnel) will see all incoming traffic as localhost. You will need to grab the real user's IP from a header (CF-Connecting-IP - normal cdn things) but also not rely on restricting any resources to localhost.&lt;/p&gt;




&lt;h2&gt;
  
  
  Pricing / Limits of Cloudflare Tunnels
&lt;/h2&gt;

&lt;p&gt;Cloudflare Tunnels are completely free. Cloudflare Tunnels used to be named Cloudflare Argo Tunnels, and required a Cloudflare Argo Subscription. &lt;a href="https://www.cloudflare.com/products/argo-smart-routing/" rel="noopener noreferrer"&gt;Cloudflare Argo&lt;/a&gt; is a service Cloudflare offers where they will use "smarter routing" to route requests to your origin avoiding network congestion, charging per gigabyte transferred.&lt;/p&gt;

&lt;p&gt;Now Cloudflare has completely separated the products, while you can still buy an Argo Subscription to try to speed up traffic to your origin. Tunnels are free for any traffic amount with only a few limits: &lt;a href="https://www.cloudflare.com/products/argo-smart-routing/" rel="noopener noreferrer"&gt;1000 Tunnels per account, and 100 Active Connections from each tunnel to Cloudflare's edge&lt;/a&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  Requirements:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Cloudflare Account (free)&lt;/li&gt;
&lt;li&gt;Domain added to Cloudflare (using CF nameservers, etc)&lt;/li&gt;
&lt;li&gt;Linux server with a web server already configured on it&lt;/li&gt;
&lt;li&gt;No ports need to be port forwarded or allowed through your firewall&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  How to setup a Cloudflare Tunnel
&lt;/h3&gt;

&lt;h5&gt;
  
  
  Installing the tunnel
&lt;/h5&gt;

&lt;p&gt;Navigate to the &lt;a href="https://dash.teams.cloudflare.com" rel="noopener noreferrer"&gt;Cloudflare Zero Trust / Teams Dashboard&lt;/a&gt; within your Cloudflare Dashboard&lt;/p&gt;

&lt;p&gt;Click create a tunnel in the top right, and enter a name that will be useful for identifying later.&lt;/p&gt;

&lt;p&gt;Select your OS and architecture. If you're not sure, check if you have either dpkg on your system (Debian) or yum (Red Hat).&lt;/p&gt;

&lt;p&gt;Execute the command it gives you, and wait for your Connector to connect (scroll down to the Connectors section)&lt;/p&gt;

&lt;h4&gt;
  
  
  Configuring the tunnel
&lt;/h4&gt;

&lt;p&gt;In the route section, you are given a ton of options on how traffic will be routed to and through your cloudflared connector.&lt;/p&gt;

&lt;p&gt;If you are hosting your service on a subdomain, just type in the subdomain, select your domain, and leave the path blank. If you're hosting on your apex, just select your domain.&lt;/p&gt;

&lt;p&gt;For the Service section, it is about the service &lt;strong&gt;you already have running&lt;/strong&gt; on your machine, which cloudflared will connect locally to. If you have a simple nginx/apache/openlitespeed server running on port 80, select HTTP for the service and type localhost:80. It doesn't matter that this part is HTTP, since it is all local on your machine and never leaves it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note that if you already have a DNS Record created for the specified hostname, as of 3/28/2022, it will just silently fail when you click save tunnel. You need to manually delete the conflicting record first.&lt;/p&gt;

&lt;p&gt;If you are aiming to use the tunnel for a domain on the apex of your site (not on a subdomain), you will need to create a duplicate public hostname, but with the www subdomain, or your www subdomain will not work and potentially confuse visitors or other sources that assume www will always work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Your configuration should look something like this:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsthri216jw67gw5r4vat.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsthri216jw67gw5r4vat.png" alt="CF Configuration for new tunnel"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;YOUR.DOMAIN &amp;lt;-&amp;gt; Cloudflare's Edge &amp;lt;-&amp;gt; Cloudflared Daemon (On your server) &amp;lt;-&amp;gt; Your Web Server (Over port 80, localhost, depending on your configuration)&lt;/p&gt;

&lt;p&gt;Then click "Save  tunnel".&lt;/p&gt;

&lt;p&gt;Cloudflare should have taken care of creating the DNS Record for the domain you picked, and you should be able to visit your application now.&lt;/p&gt;

&lt;h4&gt;
  
  
  Further Configuration
&lt;/h4&gt;

&lt;p&gt;From the tunnels page, you can click "Configure" on your tunnel, and then under "Public Hostname", you can add more routes for other services on your machine. The UI is mostly self-explanatory and works according to the steps before.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the tunnel works
&lt;/h2&gt;

&lt;p&gt;You may have noticed, your tunnel makes multiple connections, sometimes even to different data centers. Cloudflare says it connects to multiple machines in case one crashes/reboots, it can use the other connections.&lt;/p&gt;

&lt;p&gt;Each individual connection to Cloudflare is not limited to one user request at a time. Cloudflare says each connection can handle hundreds or thousands of requests at one time.&lt;/p&gt;

&lt;p&gt;Cloudflare for Teams/Cloudflare Access has a generous free plan you can use as well, for up to 50 people, using Google (or a ton of other sso options) for auth. You can very easily make an Application policy to protect your tunnel and limit it to only specific emails or other options.&lt;/p&gt;

&lt;p&gt;{Tunnel-UUID}.cfargotunnel.com is a virtual/non-existent domain, that is only used internally when it makes CName's pointing to your tunnel and other references. Other Cloudflare Customers &lt;strong&gt;cannot&lt;/strong&gt;point their domains at your tunnel and bypass your Cloudflare Access or other restrictions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing Notes
&lt;/h2&gt;

&lt;p&gt;You can still use the old way to configure your tunnels, manually setting the configuration file, but there's no real upside. Cloudflare says this new way is slightly more secure too, as before on the server it stored a token that could be used to communicate with CF's API to create new tunnels, modify DNS records, etc. Now all the server needs is an auth token to connect the tunnel.&lt;/p&gt;

&lt;p&gt;Now that you have your tunnel setup and running, you could consider routing SSH or VNC through your tunnel as well, and using Cloudflare Zero Access to protect those, instead of relying on &lt;br&gt;
legacy VPNs or IP Whitelists.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>devops</category>
    </item>
    <item>
      <title>How to setup a Cloudflare tunnel on Linux</title>
      <dc:creator>RealChaika</dc:creator>
      <pubDate>Mon, 27 Dec 2021 15:07:12 +0000</pubDate>
      <link>https://dev.to/realchaika/how-to-setup-a-cloudflare-tunnel-on-linux-40d9</link>
      <guid>https://dev.to/realchaika/how-to-setup-a-cloudflare-tunnel-on-linux-40d9</guid>
      <description>&lt;p&gt;You can now use the GUI to set up Cloudflare Tunnels instead of the CLI, which is way more streamlined and easy to do.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/realchaika" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F778552%2Fd97b7c8c-bae4-4c29-896a-be3dd00e59f7.png" alt="realchaika"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/realchaika/how-to-setup-a-cloudflare-tunnel-new-using-gui-method-4maf" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;How to setup a Cloudflare tunnel (New - Using GUI Method)&lt;/h2&gt;
      &lt;h3&gt;RealChaika ・ Mar 26 '22&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#tutorial&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#devops&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  What are Cloudflare Tunnels
&lt;/h2&gt;

&lt;p&gt;Cloudflare Tunnels can be used to expose internal services using outbound only connections. Think Ngrok tunnels. Cloudflare Tunnels can be used to proxy normal http/https connections, ssh/vnc, as well as more advanced things like arbitrary TCP, with some more restrictions.&lt;/p&gt;

&lt;p&gt;The advantage of using Cloudflare Tunnels is not having to open any ports on your web server, no need for anything like IP Restrictions, Origin Cert checking, etc. Cloudflare Tunnels also use http/2 to connect to Cloudflare's Edge (soon http3/quic), whereas normally Cloudflare will only connect to an origin over http/1.1.&lt;/p&gt;

&lt;p&gt;This guide will focus on setting up a tunnel for a normal web server over http. It's important to remember that since the tunnel is acting as a proxy for traffic, the web server (or whatever you are exposing via the tunnel) will see all incoming traffic as localhost. You will need to grab the real user's IP from a header (normal cdn things) but also not rely on restricting any resources to localhost.&lt;/p&gt;




&lt;h2&gt;
  
  
  Pricing / Limits of Cloudflare Tunnels
&lt;/h2&gt;

&lt;p&gt;Cloudflare Tunnels are completely free. Cloudflare Tunnels used to be named Cloudflare Argo Tunnels, and required a Cloudflare Argo Subscription. &lt;a href="https://www.cloudflare.com/products/argo-smart-routing/" rel="noopener noreferrer"&gt;Cloudflare Argo&lt;/a&gt; is a service Cloudflare offers where they will use "smarter routing" to route requests to your origin avoiding network congestion, charging per gigabyte transferred.&lt;/p&gt;

&lt;p&gt;Now Cloudflare has completely separated the products, while you can still buy an Argo Subscription to try to speed up traffic to your origin. Tunnels are free for any traffic amount with only a few limits: &lt;a href="https://www.cloudflare.com/products/argo-smart-routing/" rel="noopener noreferrer"&gt;1000 Tunnels per account, and 100 Active Connections from each tunnel to Cloudflare's edge&lt;/a&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  Requirements:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Cloudflare Account (free)&lt;/li&gt;
&lt;li&gt;Domain added to Cloudflare (using CF nameservers, etc)&lt;/li&gt;
&lt;li&gt;Linux server with a web server already configured on it&lt;/li&gt;
&lt;li&gt;No ports need to be port forwarded or allowed through your firewall&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  How to setup a Cloudflare Tunnel
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Installing Cloudflared
&lt;/h4&gt;

&lt;p&gt;Cloudflare Tunnels use Cloudflared, a tunneling daemon to proxy the traffic from Cloudflare, and also to provide a CLI interface to make and manage tunnels.&lt;/p&gt;

&lt;h5&gt;
  
  
  .deb install (Ubuntu, Linux Mint, Debian, etc)
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb &amp;amp;&amp;amp; sudo dpkg -i cloudflared-linux-amd64.deb
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  ​ .rpm install (Centos, Fedora, Rhel, OpenSusu, etc)
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm &amp;amp;&amp;amp; sudo rpm -i cloudflared-linux-x86_64.rpm 
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Login to Cloudflared
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;cloudflared tunnel login
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command should give you the link to sign into Cloudflare, and select a zone (website) to create tunnels on.&lt;/p&gt;

&lt;p&gt;When done, it will download an account certificate (cert.pem file in the default cloudflared directory). This cert will be used to authorize future API Requests to create and manage tunnels. Once your tunnel is up and running, it will use its own credentials file, and you can safely delete this unless you want to keep managing/creating/deleting tunnels from this machine.&lt;/p&gt;

&lt;h4&gt;
  
  
  Create a tunnel
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;cloudflared tunnel create &amp;lt;name&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command will create a named tunnel based on the name entered. It will generate a new tunnel, this includes generating a UUID for the tunnel, a tunnel credentials file in the default cloudflared directory, and a subdomain of .cfargotunnel.com that you can use to route requests to. &lt;/p&gt;

&lt;p&gt;In this example, I'll be naming my tunnel "frontpage".&lt;/p&gt;

&lt;h4&gt;
  
  
  Create your tunnel configuration file
&lt;/h4&gt;

&lt;p&gt;Throughout the past two steps, after logging in and creating the account cert, and making a tunnel, generating the tunnel cert, cloudflared has listed the path to your .cloudflared directory, which is most likely based off your home directory.&lt;br&gt;
Something like "~/.cloudflared" or "/home/{username}/.cloudflared"&lt;/p&gt;

&lt;p&gt;Navigate to that folder now. You should see cert.pem (your account cert) and a .json file named off the UUID of your tunnel.&lt;/p&gt;

&lt;p&gt;Create a new file in the same directory, config.yml, and open it using your preferred text editor.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;http://localhost:80&lt;/span&gt;
&lt;span class="na"&gt;tunnel&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;&amp;lt;Tunnel-UUID&amp;gt;&lt;/span&gt;
&lt;span class="na"&gt;credentials-file&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/home/{username}/.cloudflared/&amp;lt;Tunnel-UUID&amp;gt;.json&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The URL line corresponds to the internal service you wish to expose. It's not necessary to use https://, the connection between Cloudflare Tunnel and Cloudflare's datacenter is already encrypted. This is just the tunnel connecting locally to the web server.&lt;/p&gt;

&lt;p&gt;The Tunnel UUID is a 36 character value that corresponds with your named tunnel. It was displayed when you made the tunnel. You can also find it by going to your .cloudflared directory and looking for the newly created json credentials file for the tunnel you made. It should be named {Tunnel-UUID}.json.&lt;/p&gt;

&lt;h4&gt;
  
  
  Route traffic to your tunnel
&lt;/h4&gt;

&lt;p&gt;You just create a CNAME Record to route traffic to your tunnel. You can do so easily using the cloudflared cli&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cloudflared tunnel route dns &amp;lt;Tunnel UUID or Name&amp;gt; &amp;lt;Hostname&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example, my tunnel is named &lt;code&gt;frontpage&lt;/code&gt; and I wanted it to be accessible via &lt;code&gt;example.chaika.dev&lt;/code&gt;. So I did&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cloudflared tunnel route dns frontpage example.chaika.dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Run your tunnel
&lt;/h4&gt;

&lt;p&gt;Finally, you can test out your tunnel.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;cloudflared tunnel run &amp;lt;UUID or Name&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also specify a specific configuration file to run&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;cloudflared tunnel --config path/config.yaml run
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once your tunnel is live, try accessing it via the hostname you routed it to. It may take a few seconds for the tunnel to be fully live/accessible. If something is wrong, the tunnel running in the CLI should tell you more information about errors.&lt;/p&gt;

&lt;h4&gt;
  
  
  Run your tunnel as a service
&lt;/h4&gt;

&lt;p&gt;Running your tunnel manually will work, but isn't the best. It won't automatically start if your machine reboots, have to ensure its open/running, etc.&lt;/p&gt;

&lt;p&gt;Luckily, cloudflared supports installing itself as a service very easily.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;sudo cloudflared service install
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You may need to manually specify config location. In my case, I did have to specify it.&lt;/p&gt;

&lt;p&gt;For example,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;sudo cloudflared --config /home/{username}/.cloudflared/config.yml  service install 
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Note that you specify the config argument before the 'service install' command parameters.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The configuration will be copied over to &lt;code&gt;/etc/cloudflared&lt;/code&gt;&lt;br&gt;
I would recommend copying over the tunnel credentials file ({Tunnel-UUID}.json) over to there as well.&lt;/p&gt;

&lt;p&gt;Then, just launch the service and set it to start on boot&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;sudo systemctl enable cloudflared
sudo systemctl start cloudflared
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ensure your tunnel started/is running fine:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;sudo systemctl status cloudflared
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Test out your tunnel by visting the hostname you routed it to.&lt;/p&gt;

&lt;p&gt;With any luck, it all worked, and your Cloudflare Tunnel is now all set up, running as a service, automatically starting on reboots, and working well!&lt;/p&gt;

&lt;h2&gt;
  
  
  How the tunnel works
&lt;/h2&gt;

&lt;p&gt;You may have noticed, when your tunnel starts up, it makes multiple connections. Cloudflare says it connections to multiple machines in case one crashes/reboots, it can use the other connections.&lt;/p&gt;

&lt;p&gt;Each individual connection to Cloudflare is not limited to one user request at a time. Cloudflare says each connection can handled hundreds or thousands of requests at one time.&lt;/p&gt;

&lt;p&gt;Each Tunnel supports up to 100 connections, you can launch more cloudflared replicas/instances for reliability. Cloudflare does not recommend doing this for load-balancing, and makes no guarantee about which connection is chosen. They recommend using their own load-balancing product along with tunnels for this. &lt;/p&gt;

&lt;p&gt;You can use the &lt;a href="https://dash.teams.cloudflare.com/" rel="noopener noreferrer"&gt;Cloudflare Teams Dash&lt;/a&gt; under "Access", "Tunnels" to see a good view of each tunnel you have, what routes it has, uptime/connections it has, and all other relevant information.&lt;/p&gt;

&lt;p&gt;Cloudflare for Teams/Cloudflare Access has a generous free plan you can use as well, for up to 50 people, using Google (or a ton of other sso options) for auth. You can very easily make an Application policy to protect your tunnel and limit it to only specific emails or other options.&lt;/p&gt;

&lt;p&gt;{Tunnel-UUID}.cfargotunnel.com is a virtual/non-existent domain, that is only used internally when you make CName's pointing to your tunnel and other references. Other Cloudflare Customers cannot point their domains at your tunnel and bypass your Cloudflare Access or other restrictions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing notes
&lt;/h2&gt;

&lt;p&gt;Hopefully, this helped you understand and create Cloudflare Tunnels. I made this tutorial in part for myself, Cloudflare's Tunnel Documentation does exist, and covers mostly everything, but glosses over a lot of details, and can be really confusing to beginners.&lt;/p&gt;

&lt;p&gt;Thanks for reading. If you have any questions, let me know. I've used Cloudflare Tunnels for quite some time, although mostly in smaller websites/forums.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
