Alpine Linux部署Cloudflared

准备

  • Alpine Linux:是一个面向安全,轻量级的基于 musl libc 与 busybox 项目的 Linux 发行版。

官网:https://alpinelinux.org/

换源:sudo vi /etc/apk/repositories,加上:

https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/main
https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/community

更新源:

sudo apk update

清华源:https://mirrors.tuna.tsinghua.edu.cn/help/alpine/

安装Cloudflared

  • Cloudflared的前身是 Argo Tunnel,内网穿透服务

服务网络路径:https://cloudflare.com -> Zerotrust -> 网络 -> tunnel

Cloudflared可以实现内网穿透还有自动配置https:的功能,第二个很好的解决了配置Vaultwarden时必须要https:访问。

但是我们可以看到,Cloudflared tunnel没有直接给出 Alpine Linux等其它的 linux安装 Cloudflared的方法

主流五种安装cloudflared方法

我也试过 Alpine linuxdocker,但是就是会显示:

“在您的计算机上成功安装 cloudflared后,您的连接器即会自动显示在此处。未安装连接器”

也许是docker的网络没有配置好,

  • 于是尝试用最基础的方法部署 Cloudflared tunnel

    1. 访问https://github.com/cloudflare/cloudflared/releases/latest/ 找到最新版的cloudflared-linux-amd64(架构自选,不要带后缀,就是cloudflared-linux-amd64

    2. 我这里是2025.1.0的版本,在SSH命令行输入

      wget https://github.com/cloudflare/cloudflared/releases/download/2025.1.0/cloudflared-linux-amd64

      sudo chmod +x cloudflared-linux-amd64

      mv ./cloudflared-linux-amd64 cloudflared

      mv ./cloudflared /usr/bin/

    3. 随便复制一串含有长长 Token的命令,单独取出 TokeneyJhIjoiMj......)

配置Cloudflared

Alpine Linux是使用OpenRC实现进程持久化和开机自启动的,基本命令格式如下:

sudo rc-update add cloudflared default开机自启动

sudo rc-service cloudflared status检查服务状态

sudo rc-service cloudflared start启动服务

创建文件 /etc/init.d/cloudflared,编辑内容为:

#!/sbin/openrc-run
command="/usr/local/bin/cloudflared"
command_args="tunnel --no-autoupdate run --token eyJhIjoiMj.."
pidfile="/var/run/cloudflared.pid"
command_background=true

depend() {
    need net
}
  1. sudo rc-service cloudflared start,rc-update add cloudflared default,一般情况下,cloudflared tunnel那一段可以正常检测到cloudflared服务启动了。

解决问题

老外也遇到过此类问题:https://github.com/cloudflare/cloudflared/issues/821

How to install cloudflared on Alpine Linux?
结算画面:

Cloudflare ZeroTrust Tunnels