用 Cloudflare Tunnel 实现国内网络封锁突破,自建安全稳定网站全攻略

用 Cloudflare Tunnel 实现国内网络封锁突破,自建安全稳定网站全攻略
Photo by Joshua Sortino / Unsplash

在国内,运营个人网站时经常遇到一个难题——80端口和443端口被封锁,导致传统的服务器端口映射方案难以实施。想要自己在家用电脑搭建网站,既要突破端口限制,又想保证访问安全、成本低廉,怎么办?

本文将介绍如何利用 Cloudflare Tunnel 技术,突破国内端口封锁,结合最新的公网IP证书申请,帮助你实现在自家电脑上搭建一个安全、稳定、性价比超高的网站。


为什么选择 Cloudflare Tunnel?

  • 突破端口封锁
    Cloudflare Tunnel 利用 Cloudflare 的全球网络节点,帮你绕过本地运营商对80和443端口的封锁,无需自己开放端口或做复杂端口映射。
  • 安全加密通道
    所有访问请求经过加密隧道传输,避免了直接暴露公网 IP 和端口,极大提升了服务器安全。
  • 零配置防火墙
    无需修改路由器、防火墙设置,适合没有公网IP或IP受限的家庭网络。
  • 免费高性价比
    结合 Cloudflare 免费套餐和 Let’s Encrypt 免费证书,零成本实现HTTPS加密和访问加速。

搭建流程简述

1. 准备工作

  • 注册 Cloudflare 账号并添加你的网站域名。
  • 准备好一台可以持续在线的电脑,运行你的网站服务(如本地 Web 服务器)。
  • 获取一个支持公网访问的域名(即便你家宽带是动态IP,也能通过 Cloudflare 动态DNS解决)。

2. 安装并配置 cloudflared

在你的电脑上安装 Cloudflare Tunnel 客户端 cloudflared

示例(macOS/Linux):

curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared
chmod +x cloudflared
sudo mv cloudflared /usr/local/bin/

然后创建并运行隧道:

cloudflared tunnel create mytunnel
cloudflared tunnel route dns mytunnel yourdomain.com
cloudflared tunnel run mytunnel --url http://localhost:8080

这里假设你本地 Web 服务运行在8080端口。

3. 配置 DNS 解析

在 Cloudflare 面板为你的域名添加一个 CNAME 记录,指向 Cloudflare Tunnel 自动分配的地址,完成域名解析。

4. 使用公网IP申请证书实现HTTPS

  • 支持证书自动申请
    Cloudflare 支持自动为你的网站配置免费的通配符和自定义证书,配合 Cloudflare Access 或者使用 Let’s Encrypt 可以在公网IP或自定义域名上实现自动HTTPS。
  • 公网IP支持
    如果你的电脑有公网IP,可以通过 Cloudflare Tunnel和DNS解析把流量引导到本地,同时使用Let’s Encrypt申请证书,保证访问的安全性和正规性。
  • 自动续期和配置方便
    借助 certbot 或 Cloudflare API,实现证书自动续期,保障服务稳定。

额外建议

  • 动态IP用户
    利用 Cloudflare 的动态DNS功能,自动更新域名指向IP,解决家庭宽带IP变化问题。
  • 自动化管理
    可以将 cloudflared 配置为系统服务,实现开机自动启动,保证隧道长时间稳定连接。
  • 安全加固
    结合 Cloudflare 的防火墙规则、访问控制(Cloudflare Access)进一步保护你的服务,防止未经授权的访问。

通过 Cloudflare Tunnel,个人用户完全可以绕过国内运营商对80/443端口的封锁,利用自家电脑轻松搭建专业、安全、高性价比的网站。结合公网IP和免费证书申请服务,更实现了全链路HTTPS加密,访问稳定且安全。

Read more

一次意想不到的性能问题排查

一次意想不到的性能问题排查

最近几天遇到了一个令人头疼的问题:后端 API 接口响应越来越慢,有时甚至会出现假死状态,完全无法响应请求。唯一的临时解决方案是重启后端服务,但过不了多久问题又会重现。 初期症状: * API 响应时间从几十毫秒逐渐增长到几秒 * 随着服务运行时间增长,性能持续下降 * 最终会进入假死状态,必须重启才能恢复 * 重启后短时间内运行正常,然后重蹈覆辙 排查过程 这种"越跑越慢"的症状让我首先怀疑是内存泄漏或资源未释放。我尝试了多种方向: 1. 优化缓存策略 面对性能问题,第一反应是减少不必要的计算和请求: 后端 Redis 缓存 * 将频繁查询的数据加入 Redis 缓存 * 对热点接口实施缓存层 * 设置合理的缓存过期时间 前端静态资源优化 // 为静态文件添加版本号/随机码,实现持久化缓存 <script src="/app.js?v=a8f3c2d1">

By 王圆圆
理解爱

理解爱

一、童年的禁忌 童年时期,我对"爱"这个字有一种说不清的抗拒。那时候如果喜欢上某个女孩子,我会感到羞耻,仿佛这是一种不该有的情感。我不知道这种感觉从何而来,只是本能地觉得——这样不对。 中学时借宿在邻居家,几个同龄男孩在夜里聊起那些露骨的话题,讨论女人的身体如同讨论一件器物。我坐在黑暗里,心中涌起强烈的抗拒。我觉得女性是神圣的,怎么能被如此低俗地对待,被工具化成谈资和玩物?那一刻,我认定他们是"坏孩子",而我守护着某种更高尚的东西。 大学时代,周围充斥着粗俗的口头禅和随意的恋爱观。有人把恋爱当作满足生理需求的手段,我在心里不屑——这种爱不干净,这不是我理解的爱。 二、理想的碎片 毕业后独自生活,我始终与女孩子保持着某种距离。我心里有个信念:女孩子应该被保护、被关爱。这个信念像一面镜子,让我用特定的方式打量这个世界。 然而,当我真正进入职场,与形形色色的女性共事后,我的理想开始出现裂痕。我发现有些女孩子会利用自己的性别优势,她们结成小团体,排斥异己。

By 王圆圆