利用Cloudflare Tunnel免费搭建个人博客,轻松实现多项家庭服务

利用Cloudflare Tunnel免费搭建个人博客,轻松实现多项家庭服务

利用Cloudflare Tunnel免费搭建个人博客,轻松实现多项家庭服务

欢迎回来!在之前的视频里,我跟大家分享了如何通过 Cloudflare Tunnel 来搭建访问家庭 Emby 服务的方案。今天,我在我的 NAS 上搭建了一个博客,主要是记录一些日常生活、投资心得,以及和电话卡、网络部署没有太大关系的内容。

顺便呢,我就把整个部署过程记录了下来,想和大家分享一下 Cloudflare Tunnel 的几个好处。

首先,谈谈 Cloudflare Tunnel 的三个优点:

  1. 解决了域名访问的问题。如果像我一样,你的运营商封禁了常用的 80 和 443 端口,即使有公网 IP,也只能通过像 blog.mcetf.com:8096这样的方式来访问服务。但通过 Cloudflare Tunnel,你可以直接使用域名,比如blog.mcetf.com,更加方便。

  2. 成本更低。有朋友问,为什么不用 FRP?其实,FRP 确实也是一个不错的选择,但它需要一台 VPS,而 VPS 不仅有额外的购置成本,便宜的 VPS 性能差、延迟高,好的 VPS 又价格不菲,而且很多还有限制每月流量。相比之下,如果你有 NAS 或者闲置的电脑、mini 主机,利用现有的设备搭建服务,就能大大节省成本。

  3. 低功耗。NAS 或者闲置设备消耗的电量其实很少,特别是这种玩一玩的方式,用家里的现有资源完全足够。


接下来,我会完整介绍如何通过 Cloudflare Tunnel 来搭建这个博客服务。按照这个方式,你可以开启大量的个人服务。比如我目前用的服务有:

  • 这次介绍的个人博客
  • 访问家庭的 Emby 媒体服务
  • Podsync 下的播客服务
  • 利用 FreshRSS 的 RSS 资讯服务
  • 还有基于 Ollama 部署的个人 AI 模型,它能将语音转为文字,并且自动将文字转为语音

通过免费的 Cloudflare Tunnel,我大大降低了网络部署的成本。

部署过程大致如下

  1. 在 NAS 上安装并配置好你需要的服务,比如博客或者 Emby;
  2. 创建一个 Cloudflare Tunnel,并将不同的服务绑定到不同的子域名上;
  3. 使用 Cloudflare 的免费服务,通过 Tunnel 将外部流量安全地引导到你的家庭网络中。

第一部分:NAS 上的服务搭建

关于 NAS 上 Emby 的搭建,我们之前已经介绍过了,这次我们重点来看看如何搭建博客服务。

我选择了一个非常轻量化的博客框架Typecho。它非常适合像我这样不需要太复杂功能的个人博客。最棒的是,通过 Docker 安装这个框架特别简单,即使你不太熟悉技术细节,也完全没问题。


首先,在 Docker 应用中搜索 "Typecho",找到后点击下载。这个过程非常直观,群晖的图形界面让你不需要过多关注底层的技术细节,一步步按照提示操作即可。

下载完成后,进入 "映像" 选项卡,找到刚刚下载的 Typecho 映像,然后点击 “运行”。系统会引导你设置容器的基本配置。


选择web station 设置网页门户。只要按照向导完成这些步骤,Typecho 就可以顺利安装并运行在你的 NAS 上了。

全部默认。整个过程非常简单快捷,几分钟内你就能拥有一个属于自己的博客!


接下来,我们需要在 Web Station 服务中进行配置。在设置中选择使用 HTTP 协议,并将端口设置为 8005。我这里选择的就是 8005 端口,当然你可以根据自己的需求来设定其他端口。

到这里,NAS 上的博客框架已经成功搭建并运行了。接下来,我们就开始进行 Cloudflare Tunnel 的配置,来实现外网访问这个博客服务。

虽然 Cloudflare 提供免费版服务,但要使用 Cloudflare Tunnel,还是需要在 Cloudflare 平台上进行支付信息的验证。简单来说,就是需要绑定一张信用卡进行身份确认。这个验证只是为了激活某些高级功能,比如 Cloudflare Tunnel 和之前提到的回源服务,并不会产生实际的费用。

所以,如果还没有绑定支付信息的同学,可以申请一张信用卡做个简单的验证。这一步非常重要,因为 Cloudflare 隐藏了很多实用的免费工具和高级配置选项,只有完成支付验证后才能解锁。比如我们今天要用到的隧道加速、智能路由等等,都是 Cloudflare 的“大宝藏”功能。


好的,现在我们正式开始Cloudflare Tunnel 的配置。

在 Cloudflare 的首页,我们首先需要点击左侧菜单栏中的 “Zero Trust” 选项。

如果你是第一次使用 Cloudflare Zero Trust,那么在进入这个页面时,系统会提示你进行初次配置。这里需要先为你的 Zero Trust 帐户选择一个唯一的名称。

如果你一时间想不到合适的名称,随便填一个也没关系。这个名称并不会影响实际的配置效果,而且后续我们还可以随时修改。


这里我们只需要选择免费套餐即可,因为免费版已经足够满足我们配置隧道和优化家庭网络的需求了。免费套餐不仅包含了基本的隧道功能,还允许我们设置多种网络安全策略,非常适合个人和小型家庭网络使用。


虽然 Cloudflare Zero Trust 是免费的,但在开通时仍然需要进行付款信息验证。也就是说,你需要输入有效的信用卡信息来完成身份验证。

支持的信用卡类型包括:Visa、MasterCard以及 American Express。只需要在填写信息时注意输入正确的卡号、有效期和 CVV 码,就能顺利开通 Zero Trust 服务。


当你完成了支付信息验证并开通 Zero Trust 服务后,系统会自动跳转到 Zero Trust 的管理页面。这时,你就会看到一个类似于“控制中心”的界面,这意味着我们的 Cloudflare Zero Trust 服务已经成功激活,可以开始配置了!


不过,接下来我们并不打算在界面中进行配置操作,而是采用 后台命令行的方式来完成。为什么选择这种方式呢?因为相比在图形界面中一步步点击设置,命令行操作更为直观、灵活,并且可以快速完成复杂的配置。

下面以我的群辉 NAS 上进行演示操作,开始 Cloudflare Tunnel 的安装和配置。


首先我们需要在nas上安装cloudflared程序,这一部分的代码比较多,下载cloudflared、赋予执行权限,安装结果的验证,这些代码的链接我都放在了视频的下方。

2. 创建cloudflare隧道:


首先是登录cloudflare并获取授权,执行图片中的login命令, 执行后会输出一个 URL 链接。点击这个链接在弹出的浏览器中选择授权创建隧道的域名空间。如果你的ssh客户端不支持链接点击就复制链接并在浏览器中打开,并登录 Cloudflare 账户,允许cloudflared访问你的 Cloudflare 账户,我这里选择是我的mcetf.com的域名。

![](https://image.mcetf.com/drive/1NYxy_OfPSL-USVNlm2SvwgmNMgq7AWT5)
第二步是使用cloudflared创建隧道,并指定一个名称,例如my-tunnel。  执行该命令后,你会看到一个输出,其中tunnel-id是新创建的隧道 ID,记住它,后面的配置中我们需要用到。

![](https://image.mcetf.com/drive/1OcMEPbx1T2siRXlRglJwQOoHQST3Jr9E)
创建隧道ID后需要将ID与我们的域名进行关联,需要执行屏幕中显示的命令。
执行后可以回到cloudflare中确认是否配置成功,类型为cname,名称是我们想用的域名,内容就是前面刚刚生成的隧道ID开头的字符串,cloudflare的代理小云朵已经开启。
![](https://image.mcetf.com/drive/1UF54ojwcCnbTJgnqQl108oYgG_nwVB0n)
按照同样的方式建立ID与用于域名的blog域名的关联关系。
    ![](https://image.mcetf.com/drive/1kBw_I407DdvtHCAjUTKBdk3Jl4TnRGii)
同上,执行后可以在cloudflare中确认是否配置成功。

![](https://image.mcetf.com/drive/17Ds1HuhC-pvKO1MtrRJLIxDxya3YD_fY)
准备工作全部完成后就需要配置隧道配置文件了。首先创建cloudflared配置文件目录。然后创建并编辑config.yml文件。


用你的隧道ID替换配置文件中的隧道ID,重点关注下面的部分:hostname是我们想要访问的域名,server部分是保存在nas或者家用电脑中的端口服务。
配置完成后保存退出。

执行屏幕上的命令启动nas上cloudflare隧道服务:
在执行cloudflared命令时,我们需要特别注意网络协议的选择。默认情况下,Cloudflare Tunnel 使用的是QUIC协议,但由于运营商对 UDP 协议的流量干扰,可能会导致QUIC连接不稳定,甚至直接被阻断。这就容易出现连接频繁掉线或无法建立的情况。
为了避免这个问题,我们可以将cloudflared的协议强制设置为http2。虽然http2使用的是传统的 TCP 连接,可能在低延迟方面稍逊色于QUIC,但它在国内的网络环境中更稳定、更可靠。因此,推荐大家在执行命令时显式指定http2协议。


到这里,我们的所有配置就已经完成了!接下来,让我们回到 Cloudflare 的 Zero Trust 管理界面,验证一下配置是否生效。打开 Cloudflare 的管理界面,进入“Zero Trust” 部分。在左侧菜单栏中找到 “Access” 下的 “Tunnels” 选项。你应该可以看到刚才在 NAS 上创建的”my-tunnel“隧道。此时,状态应该显示为健康状态。这表示隧道已经成功连接并处于正常运行状态。


在浏览器中输入你配置好的域名,比如 home.mcetf.com,你应该能够顺利地看到已经部署在家庭网络中的服务页面,比如你的 NAS 管理界面或者你设置的其他服务。
这就表明我们刚刚通过 Cloudflare Tunnel 建立的隧道已经成功工作了!

同样,我们可以检查一下另外搭建的博客服务是否可以正常访问。通过浏览器访问我们配置的地址,确认服务已经正常运行。按照提示,完成博客空间的安装就可以开始使用了。

通过 Cloudflare Tunnel,你不仅可以让博客服务外网访问,还能够提供多项网络服务。像博客这类服务,通过 Cloudflare Tunnel 能有效利用 Cloudflare 的内容分发网络 (CDN) 优势,提升访问速度和稳定性,特别是在全球不同地区的访问体验上更加出色。

除了这次介绍的个人博客,你还可以将其他服务也通过同一个 Tunnel 发布,比如:

  • 访问家庭的 Emby 媒体服务
  • Podsync 下的播客同步服务
  • FreshRSS 的 RSS 资讯订阅服务

这些服务都可以通过 Cloudflare Tunnel 实现统一管理和外网访问,为你的家庭网络提供更丰富的功能。

好了,今天的视频就到这里!我们通过 NAS 搭建了一个博客,并成功通过 Cloudflare Tunnel 实现了多项服务的外网访问,希望对你有所帮助。如果你也想自己动手搭建家庭服务,这个方法简单实用,非常适合入门。

如果你觉得这个视频对你有帮助,请记得点赞、订阅,并开启小铃铛,方便第一时间获取我的最新内容。感谢大家的观看,我们下期再见!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Back To Top