<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>零信任 on 诚实雷达</title><link>https://honestradar.com/tags/%E9%9B%B6%E4%BF%A1%E4%BB%BB/</link><description>Recent content in 零信任 on 诚实雷达</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Fri, 05 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://honestradar.com/tags/%E9%9B%B6%E4%BF%A1%E4%BB%BB/index.xml" rel="self" type="application/rss+xml"/><item><title>用 Cloudflare Tunnel 把 VPS 上的自建应用安全暴露，无需开放端口</title><link>https://honestradar.com/vps-hosting/cloudflare-tunnel-vps-self-host-2026/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://honestradar.com/vps-hosting/cloudflare-tunnel-vps-self-host-2026/</guid><description>&lt;img src="https://honestradar.com/images/cloudflare-tunnel-vps-self-host-2026.jpg" alt="Featured image of post 用 Cloudflare Tunnel 把 VPS 上的自建应用安全暴露，无需开放端口" /&gt;&lt;p&gt;如果你有自己的 VPS 并跑着 Docker 容器（Nextcloud、Home Assistant、n8n、WordPress），你一定遇到过这个问题：&lt;strong&gt;怎么从外网安全访问这些服务？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;传统做法是配置 Nginx 反向代理 + Let&amp;rsquo;s Encrypt SSL 证书 + 防火墙开放 80/443 端口。听起来简单，实际操作中 SSL 过期、端口冲突、DDoS 攻击、IP 被封……每个坑都够新手折腾几天。&lt;/p&gt;
&lt;p&gt;Cloudflare Tunnel 是另一种思路：&lt;strong&gt;完全不需要开放任何端口，不需要配置 Nginx，自带免费 SSL，还能蹭到 Cloudflare 的全球 CDN 和 DDoS 防护。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;今天这篇手把手教程，带你用 Cloudflare Tunnel 把 VPS 上的自建服务安全暴露到公网。整个过程不超过 15 分钟。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="先准备好什么"&gt;先准备好什么
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;需要什么&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;th&gt;花费&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;一台 VPS&lt;/td&gt;
 &lt;td&gt;推荐 1GB 内存以上的服务器&lt;/td&gt;
 &lt;td&gt;RackNerd 2GB 套餐 $3/月 &lt;a href="https://my.racknerd.com/aff.php?aff=19978" rel="nofollow sponsored" target="_blank"&gt;点击查看&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Cloudflare 账号&lt;/td&gt;
 &lt;td&gt;免费注册即可&lt;/td&gt;
 &lt;td&gt;免费&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;一个域名&lt;/td&gt;
 &lt;td&gt;可以在 Cloudflare 上买，也可以从别的 registrar 迁移&lt;/td&gt;
 &lt;td&gt;~$10/年&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Docker（可选）&lt;/td&gt;
 &lt;td&gt;用于运行 Web 应用&lt;/td&gt;
 &lt;td&gt;免费&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;💡 &lt;strong&gt;VPS 选择建议：&lt;/strong&gt; Cloudflare Tunnel 本身资源消耗极低（cloudflared 进程通常只占 10-30MB 内存），所以 1GB 内存的 VPS 就能跑多个隧道。但如果你还打算在 VPS 上跑 Docker 应用，建议直接选 &lt;a href="https://my.racknerd.com/aff.php?aff=19978" rel="nofollow sponsored" target="_blank"&gt;RackNerd 2GB 套餐&lt;/a&gt;，性价比最高。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="cloudflare-tunnel-是什么和-nginx-有什么区别"&gt;Cloudflare Tunnel 是什么？和 Nginx 有什么区别？
&lt;/h2&gt;&lt;p&gt;Cloudflare Tunnel（原名 Argo Tunnel）的核心原理是：&lt;strong&gt;在你的服务器和 Cloudflare 边缘节点之间建立一个加密的出站连接&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;换句话说，流量是这样的：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;用户 → Cloudflare 全球网络 → 加密隧道 → 你的 VPS 本地服务
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;你的 VPS &lt;strong&gt;不需要开放任何端口&lt;/strong&gt;，因为连接是从 VPS 主动发起的出站连接（通常走 443 端口，几乎所有防火墙都放行）。&lt;/p&gt;
&lt;h3 id="和-nginx-反向代理对比"&gt;和 Nginx 反向代理对比
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;特性&lt;/th&gt;
 &lt;th&gt;Nginx 反向代理&lt;/th&gt;
 &lt;th&gt;Cloudflare Tunnel&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;需要开放端口&lt;/td&gt;
 &lt;td&gt;是（80/443）&lt;/td&gt;
 &lt;td&gt;否（出站连接即可）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SSL 证书&lt;/td&gt;
 &lt;td&gt;需手动配置/续期&lt;/td&gt;
 &lt;td&gt;Cloudflare 自动管理&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;防火墙配置&lt;/td&gt;
 &lt;td&gt;需配置 iptables/UFW&lt;/td&gt;
 &lt;td&gt;无需配置&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DDoS 防护&lt;/td&gt;
 &lt;td&gt;需额外配置&lt;/td&gt;
 &lt;td&gt;自带 Cloudflare 防护&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;公网 IP 暴露&lt;/td&gt;
 &lt;td&gt;你的服务器 IP 直接暴露&lt;/td&gt;
 &lt;td&gt;你的服务器 IP 完全隐藏&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;免费额度&lt;/td&gt;
 &lt;td&gt;完全免费&lt;/td&gt;
 &lt;td&gt;免费计划：1000 个隧道、500 个 Access 应用&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;性能&lt;/td&gt;
 &lt;td&gt;本地处理，延迟低&lt;/td&gt;
 &lt;td&gt;经过 Cloudflare 网络，全球 CDN 加速&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;适合场景&lt;/td&gt;
 &lt;td&gt;高性能生产环境&lt;/td&gt;
 &lt;td&gt;Self-Hosted、个人项目、测试环境&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;结论：&lt;/strong&gt; 个人项目、Self-Hosted 场景，Cloudflare Tunnel 是更好的选择。生产级高流量场景，Nginx 可能更合适。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="第一步安装-cloudflared"&gt;第一步：安装 Cloudflared
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;cloudflared&lt;/code&gt; 是 Cloudflare Tunnel 的命令行客户端，运行在你的 VPS 上。&lt;/p&gt;
&lt;p&gt;在 Ubuntu/Debian 上：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 添加 Cloudflare 官方 GPG 密钥和仓库&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sudo tee /usr/share/keyrings/cloudflare-main.gpg &amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; https://pkg.cloudflare.com/cloudflared &lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;lsb_release -cs&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;&lt;span style="color:#e6db74"&gt; main&amp;#34;&lt;/span&gt; | &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sudo tee /etc/apt/sources.list.d/cloudflared.list
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 安装&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt install cloudflared
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装完成后验证：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cloudflared --version
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 输出类似：cloudflared version 2026.x.x (built ...)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果是 CentOS/RHEL：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo rpm -ivh https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="第二步创建-tunnel"&gt;第二步：创建 Tunnel
&lt;/h2&gt;&lt;p&gt;有两种方式创建 Tunnel：&lt;/p&gt;
&lt;h3 id="方式-a通过-cloudflare-zero-trust-dashboard推荐新手"&gt;方式 A：通过 Cloudflare Zero Trust Dashboard（推荐新手）
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;登录 &lt;a class="link" href="https://one.dash.cloudflare.com" target="_blank" rel="noopener"
 &gt;Cloudflare Zero Trust Dashboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;进入 &lt;strong&gt;Networks&lt;/strong&gt; → &lt;strong&gt;Tunnels&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;点击 &lt;strong&gt;Create a tunnel&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;选择 &lt;strong&gt;Cloudflared&lt;/strong&gt; 连接方式&lt;/li&gt;
&lt;li&gt;给 Tunnel 起个名字，比如 &lt;code&gt;my-vps-tunnel&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;复制安装命令（长这样）：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cloudflared service install eyJhIjoiYTBiY2RlZ...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="7"&gt;
&lt;li&gt;在 VPS 上运行这条命令&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="方式-b通过命令行推荐进阶用户"&gt;方式 B：通过命令行（推荐进阶用户）
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 登录 Cloudflare（需要 API Token）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cloudflared tunnel login
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 创建隧道&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cloudflared tunnel create my-vps-tunnel
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 输出类似：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Created tunnel my-vps-tunnel with id abc123def456&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="第三步配置-dns-和路由"&gt;第三步：配置 DNS 和路由
&lt;/h2&gt;&lt;h3 id="创建-dns-记录"&gt;创建 DNS 记录
&lt;/h3&gt;&lt;p&gt;在你的 Tunnel 配置中（YAML 文件），定义哪些域名要映射到哪些本地服务：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# ~/.cloudflared/&amp;lt;tunnel-id&amp;gt;.json 或 /etc/cloudflared/config.yml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;tunnel&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;abc123def456&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;credentials-file&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;/root/.cloudflared/&amp;lt;tunnel-id&amp;gt;.json&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;ingress&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 主域名 → Docker 中的 Nextcloud&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;hostname&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;cloud.example.com&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;service&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;http://localhost:8080&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 子域名 → Docker 中的 Home Assistant&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;hostname&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;home.example.com&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;service&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;http://localhost:8123&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 默认规则 → 404&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;service&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;http_status:404&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="通过-dashboard-创建-dns-记录"&gt;通过 Dashboard 创建 DNS 记录
&lt;/h3&gt;&lt;p&gt;如果你用的是方式 A（Dashboard），在 Tunnel 创建完成后：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;进入 Tunnel 详情页&lt;/li&gt;
&lt;li&gt;点击 &lt;strong&gt;Public Hostname&lt;/strong&gt; 标签&lt;/li&gt;
&lt;li&gt;填写域名（如 &lt;code&gt;cloud.example.com&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;选择服务类型（HTTP/HTTPS/TCP/SSH）&lt;/li&gt;
&lt;li&gt;填写服务地址（如 &lt;code&gt;localhost:8080&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;点击 &lt;strong&gt;Save&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Cloudflare 会自动添加 DNS CNAME 记录。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="第四步启动-tunnel-并设为开机自启"&gt;第四步：启动 Tunnel 并设为开机自启
&lt;/h2&gt;&lt;h3 id="通过-systemd-守护"&gt;通过 systemd 守护
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 方式 A（Dashboard 方式）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo cloudflared service install
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 方式 B（命令行方式）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo cloudflared service install my-vps-tunnel
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;启动并启用：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl enable cloudflared
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl start cloudflared
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;查看运行状态：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl status cloudflared
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;查看日志：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo journalctl -u cloudflared -f
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="第五步验证你的服务"&gt;第五步：验证你的服务
&lt;/h2&gt;&lt;p&gt;打开浏览器，访问 &lt;code&gt;https://cloud.example.com&lt;/code&gt;。如果一切正常，你应该能看到你的 Docker 容器里运行的应用。&lt;/p&gt;
&lt;p&gt;测试连通性：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cloudflared tunnel route dns my-vps-tunnel test.example.com
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -I https://test.example.com
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 应返回 200 OK&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="进阶用-cloudflare-access-给服务加登录认证"&gt;进阶：用 Cloudflare Access 给服务加登录认证
&lt;/h2&gt;&lt;p&gt;Cloudflare Tunnel 最强大的功能是 &lt;strong&gt;Cloudflare Access&lt;/strong&gt;——它允许你设置基于身份的身份验证（OAuth、SSO、Magic Link 等），让你的自托管应用只有授权用户才能访问。&lt;/p&gt;
&lt;h3 id="使用场景"&gt;使用场景
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Nextcloud&lt;/strong&gt;：不想让全世界扫描到？加一个邮件验证登录&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Home Assistant&lt;/strong&gt;：远程访问时不想裸奔？加一个 Google/Microsoft 账号登录&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grafana/Prometheus&lt;/strong&gt;：监控面板暴露给团队，但不想让外人看到？&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="设置步骤"&gt;设置步骤
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;在 Cloudflare Zero Trust Dashboard 进入 &lt;strong&gt;Access&lt;/strong&gt; → &lt;strong&gt;Applications&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;点击 &lt;strong&gt;Add an application&lt;/strong&gt; → &lt;strong&gt;Self-hosted&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;填写应用名称和域名&lt;/li&gt;
&lt;li&gt;选择身份验证方式：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Email&lt;/strong&gt;（最简单，用户收到验证邮件）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Google/Microsoft/SSO&lt;/strong&gt;（适合团队）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub&lt;/strong&gt;（适合开发者）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;保存后，访问你的域名就会弹出登录页面&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="常见故障排查"&gt;常见故障排查
&lt;/h2&gt;&lt;h3 id="1-连接失败日志报-dns-resolution-failed"&gt;1. 连接失败，日志报 &amp;ldquo;DNS resolution failed&amp;rdquo;
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 检查 DNS 配置&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat /etc/resolv.conf
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 确保有有效的 DNS 服务器，添加 Cloudflare DNS 试试：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;nameserver 1.1.1.1&amp;#34;&lt;/span&gt; | sudo tee -a /etc/resolv.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-tunnel-频繁断连"&gt;2. Tunnel 频繁断连
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 检查 cloudflared 进程是否正常运行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl status cloudflared
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 查看最近 100 行日志&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo journalctl -u cloudflared -n &lt;span style="color:#ae81ff"&gt;100&lt;/span&gt; --no-pager
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="3-访问速度很慢"&gt;3. 访问速度很慢
&lt;/h3&gt;&lt;p&gt;Cloudflare Tunnel 的流量会经过 Cloudflare 全球网络，通常会有加速效果。如果速度慢，可能是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;你的 VPS 到 Cloudflare 节点的网络质量差&lt;/li&gt;
&lt;li&gt;考虑换一个 Cloudflare 上买了域名的 VPS（同生态网络优化更好）&lt;/li&gt;
&lt;li&gt;在 Cloudflare Dashboard 检查 &lt;strong&gt;Analytics&lt;/strong&gt; 看是否有流量瓶颈&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-https-证书报错"&gt;4. HTTPS 证书报错
&lt;/h3&gt;&lt;p&gt;Cloudflare 自动管理证书，一般不会有这个问题。如果碰到：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;确保你的域名 DNS 记录指向 Cloudflare&lt;/li&gt;
&lt;li&gt;在 Tunnel 配置中不要手动指定 &lt;code&gt;originServerName&lt;/code&gt;（除非你有特殊需求）&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="性能与限制"&gt;性能与限制
&lt;/h2&gt;&lt;p&gt;Cloudflare Tunnel 免费计划的限制：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;限制项&lt;/th&gt;
 &lt;th&gt;免费计划&lt;/th&gt;
 &lt;th&gt;付费计划&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;隧道数量&lt;/td&gt;
 &lt;td&gt;1000&lt;/td&gt;
 &lt;td&gt;1000&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Access 应用数&lt;/td&gt;
 &lt;td&gt;500&lt;/td&gt;
 &lt;td&gt;更多（依计划而定）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;带宽&lt;/td&gt;
 &lt;td&gt;无硬限制&lt;/td&gt;
 &lt;td&gt;无硬限制&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DDoS 防护&lt;/td&gt;
 &lt;td&gt;基础&lt;/td&gt;
 &lt;td&gt;高级&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;自定义证书&lt;/td&gt;
 &lt;td&gt;❌&lt;/td&gt;
 &lt;td&gt;✅&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;日志保留&lt;/td&gt;
 &lt;td&gt;7 天&lt;/td&gt;
 &lt;td&gt;30 天+&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;价格&lt;/td&gt;
 &lt;td&gt;免费&lt;/td&gt;
 &lt;td&gt;$20/月起&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;对于绝大多数个人 Self-Hosted 用户，免费计划完全够用。即使是小团队，1000 个隧道的上限也非常慷慨。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="总结什么时候该用-cloudflare-tunnel"&gt;总结：什么时候该用 Cloudflare Tunnel？
&lt;/h2&gt;&lt;h3 id="-推荐用-tunnel-的场景"&gt;✅ 推荐用 Tunnel 的场景
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;个人博客、Nextcloud、Home Assistant 等 Self-Hosted 服务&lt;/li&gt;
&lt;li&gt;不想折腾 Nginx、SSL 证书、防火墙规则&lt;/li&gt;
&lt;li&gt;需要从外网临时访问内网服务&lt;/li&gt;
&lt;li&gt;希望获得 Cloudflare 的 CDN 和 DDoS 防护&lt;/li&gt;
&lt;li&gt;想让应用有基本的访问控制（用 Access）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-不推荐用-tunnel-的场景"&gt;❌ 不推荐用 Tunnel 的场景
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;高并发生产环境（考虑 Nginx + 原生 IP）&lt;/li&gt;
&lt;li&gt;需要极低延迟的场景（Tunnel 会增加一跳）&lt;/li&gt;
&lt;li&gt;已有成熟 Nginx 反向代理架构&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="下一步搭配-vps-搭建完整的-self-hosted-体系"&gt;下一步：搭配 VPS 搭建完整的 Self-Hosted 体系
&lt;/h2&gt;&lt;p&gt;Cloudflare Tunnel 是你的 VPS 上的自建应用安全暴露到公网的最佳选择。&lt;strong&gt;推荐搭配一台便宜稳定的 VPS 使用&lt;/strong&gt;，比如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://my.racknerd.com/aff.php?aff=19978" rel="nofollow sponsored" target="_blank"&gt;RackNerd 2GB KVM — $3/月&lt;/a&gt;：性价比之王，跑多个 Docker 容器毫无压力&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.hostinger.com?REFERRALCODE=JZ1ZL8465QCG" rel="nofollow sponsored" target="_blank"&gt;Hostinger VPS — $4.99/月起&lt;/a&gt;：自带管理面板，新手友好&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.vultr.com/?ref=9706229" rel="nofollow sponsored" target="_blank"&gt;Vultr Cloud Compute — $2.50/月起&lt;/a&gt;：全球节点丰富，性能稳定&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="faq"&gt;FAQ
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Q: Cloudflare Tunnel 安全吗？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A: 非常安全。Tunnel 使用 mTLS（双向 TLS）加密通信，你的 VPS 公网 IP 对互联网完全不可见，Cloudflare 充当了反向代理和防火墙的角色。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: 需要域名在 Cloudflare 上吗？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A: 不需要。只要你的域名 DNS 可以解析到 Cloudflare（即把 Nameserver 改成 Cloudflare），任何 registrar 买的域名都可以使用 Tunnel。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: 一个 Tunnel 可以绑定多个子域名吗？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A: 可以。在 &lt;code&gt;config.yml&lt;/code&gt; 中配置多条 &lt;code&gt;ingress&lt;/code&gt; 规则即可。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: Cloudflare Tunnel 会影响网站速度吗？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A: 通常不会。Cloudflare 的全球 CDN 网络会让访问更快，尤其是当你的 VPS 在海外而用户在另一大洲时。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: 我的 VPS 没有公网 IP 怎么办？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A: 只要有出站网络连接就行。Cloudflare Tunnel 使用的是出站连接，所以即使是在 NAT 后面或内网环境也可以正常使用。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;免责声明：As an Amazon Associate and an affiliate of various hosting providers, I earn from qualifying purchases. This means if you click on a link and make a purchase, I may receive a small commission at no additional cost to you. I only recommend products and services that I have personally used or thoroughly researched. All opinions and recommendations are my own.&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>