<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Cloudflare on Melih Savdert&#39;s Tech Blog</title>
    <link>https://msavdert.github.io/tags/cloudflare/</link>
    <description>Recent content in Cloudflare on Melih Savdert&#39;s Tech Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2026 Melih Savdert</copyright>
    <lastBuildDate>Mon, 27 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://msavdert.github.io/tags/cloudflare/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Securing Proxmox VE with Cloudflare Tunnel: A Zero Trust Approach</title>
      <link>https://msavdert.github.io/posts/securing-proxmox-with-cloudflare-tunnel/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://msavdert.github.io/posts/securing-proxmox-with-cloudflare-tunnel/</guid>
      <description>&lt;p&gt;In my &lt;a href=&#34;https://msavdert.github.io/posts/proxmox-hetzner-deployment-guide/&#34; &gt;previous post&lt;/a&gt;, we set up Proxmox VE on a Hetzner dedicated server. While the installation is complete, accessing the Proxmox dashboard usually involves opening port &lt;code&gt;8006&lt;/code&gt; to the public internet or using a VPN.&#xA;A more modern and secure approach is to use &lt;strong&gt;Cloudflare Tunnels (Cloudflared)&lt;/strong&gt;. This allows you to access your dashboard via a nice hostname (e.g., &lt;code&gt;proxmox.yourdomain.com&lt;/code&gt;) without opening any inbound ports on your server.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Why Cloudflare Tunnels?&#xA;    &lt;div id=&#34;why-cloudflare-tunnels&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#why-cloudflare-tunnels&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;No Inbound Ports&lt;/strong&gt;: You can keep your firewall completely closed to the public internet.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Identity-Based Access&lt;/strong&gt;: You can add Cloudflare Access rules (SSO, 2FA) in front of your Proxmox login.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Automated SSL&lt;/strong&gt;: Cloudflare handles the SSL/TLS certificates automatically.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. Prerequisites&#xA;    &lt;div id=&#34;1-prerequisites&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-prerequisites&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A Proxmox VE server (see the &lt;a href=&#34;https://msavdert.github.io/posts/proxmox-hetzner-deployment-guide/&#34; &gt;installation guide&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;A domain managed by Cloudflare.&lt;/li&gt;&#xA;&lt;li&gt;A Cloudflare Zero Trust account (Free tier is fine).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. Setting Up the Tunnel in Cloudflare Dashboard&#xA;    &lt;div id=&#34;2-setting-up-the-tunnel-in-cloudflare-dashboard&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-setting-up-the-tunnel-in-cloudflare-dashboard&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Log in to the &lt;a href=&#34;https://dash.cloudflare.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Cloudflare Dashboard&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Navigate to &lt;strong&gt;Zero Trust &amp;gt; Networks &amp;gt; Tunnels&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Click &lt;strong&gt;Create a tunnel&lt;/strong&gt; and name it (e.g., &lt;code&gt;proxmox-hetzner&lt;/code&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Select &lt;strong&gt;Cloudflared&lt;/strong&gt; as the connector.&lt;/li&gt;&#xA;&lt;li&gt;Choose your environment (e.g., &lt;strong&gt;Debian 64-bit&lt;/strong&gt;).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. Installing Cloudflared on Proxmox&#xA;    &lt;div id=&#34;3-installing-cloudflared-on-proxmox&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-installing-cloudflared-on-proxmox&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Back in your Proxmox terminal, follow these steps to install the agent:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Setting Up GitHub Pages with Custom Subdomain Using Cloudflare DNS</title>
      <link>https://msavdert.github.io/posts/github-pages-cloudflare-setup/</link>
      <pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>https://msavdert.github.io/posts/github-pages-cloudflare-setup/</guid>
      <description>&lt;p&gt;This guide provides the official, recommended steps to configure a custom subdomain (e.g., &lt;code&gt;blog.savdert.com&lt;/code&gt;) for GitHub Pages using Cloudflare as your DNS provider, based on GitHub&amp;rsquo;s official documentation.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. Configure GitHub Pages&#xA;    &lt;div id=&#34;1-configure-github-pages&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-configure-github-pages&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;First, you need to tell your GitHub repository that you intend to use a custom domain.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Navigate to your GitHub repository.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Go to &lt;strong&gt;Settings &amp;gt; Pages&lt;/strong&gt; (under the &amp;ldquo;Code and automation&amp;rdquo; section).&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
