封面图:https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/


大内网战略(5):自建在线相册/影视网站 Jellyfin一文中,介绍了在 Tailscale 内网环境中搭建 Jellyfin 影视库。不过,可能有些人出于想方便给家里人使用的理由,不想每次打开 Jellyfin 之前都要开个 Tailscale 客户端,想公网输入域名就能访问。本期,使用 Cloudflare Tunnel 做内网穿透。

先决条件

  • 购买了域名,并且 DNS 解析到 Cloudflare 上。购买可见:Cloudflare 购买与解析域名
  • 要被穿透的是 Windows 电脑。Linux 电脑仅在安装 cloudflared 时步骤有所不同,不过考虑到做内网穿透的新手一般是局域网的 Windows 用户多,而且如果你是使用 Linux 做家庭服务器的也应该有变通能力,因此接下来以 Windows 为主。
  • 部署了 Jellyfin。当然,其他服务也可以。

创建并部署 Cloudflare Tunnel

点击开通。可能会要你绑定支付方式,外币银行卡或者绑了国内银联卡的 paypal 都可以。因为我已经绑了支付方式,所以没有截图了。

之后就可以进入 Zero Trust 控制台。

如下图创建 Tunnel。

起一个名字,然后保存。

接下来,按照给出的网址下载 cloudflared-amd64.msi 安装包(Linux 自己看着选),在服务器上安装 cloudflared。然后打开管理员身份的 CMD(打开方式见下下张图),把 4 里的命令粘贴并执行。

添加穿透

选择添加域名

假设你的 Jellyfin HTTP 内网端口是 8096(查看和修改的位置见下图,在控制台里)

你想域名 mytube.eterance.com 能打开 Jellyfin,也就是要 https://mytube.eterance.com 指向 http://localhost:8096。那么设置:

如果你的 Jellyfin 部署在局域网另一台服务器上,比如是 192.168.1.101,那么 URL 就是 192.168.1.101:8096

保存,稍等几分钟,即可使用域名 mytube.eterance.com 访问内网 Jellyfin。

网速

电信千兆下行百兆上行,使用 CF Tunnel 速度上限是 32Mbps 左右。虽然远未到上行带宽上限,但是看视频已经可以很流畅,随意点击进度条了。