部署入门
准备服务器、取得授权、验签安装、接入节点,这是《安装与运维手册》的精简版。
准备服务器
主控支持 Ubuntu 22.04/24.04、Debian 12/13、Rocky/AlmaLinux 8/9,要求 systemd,CPU 为 x86_64 或 aarch64。节点还支持 Ubuntu 20.04、Debian 11、CentOS 7,但不支持 Debian 13。主控从 2 核 4 GB、100 GB SSD 起步,50 个节点以内建议 4 核 8 GB、500 GB SSD;节点从 2 核 4 GB 起步。这些是规划起点,不是压测结论,磁盘主要看访问日志量。主控和节点都要开时间同步。
放行端口
主控:TCP 8080(控制台和节点通道,配好 HTTPS 后建议只对内网开放)、TCP 443(HTTPS)。节点:TCP 80、443,HTTP/3 需要 UDP 443,四层转发按集群的端口范围放行。节点的安装脚本只放行 TCP 80、443,主控的脚本不替你放行。云服务器的安全组要同样放行。
firewall-cmd --permanent --add-port=8080/tcp --add-port=443/tcp
firewall-cmd --reload取得授权
向我们要授权文件(license.json 和 license.json.sig 一对),或者授权编号和激活密钥(要求机器能连上 dl.allwaf.com)。用授权文件的,把这一对传到主控机器的同一个目录。没有授权时安装脚本立刻退出,什么都不装。
先验签,再安装
install.sh 要以 root 运行,执行之前先验它的签名,不要用 curl | bash。公钥的指纹是 fff1767b49c5304a825dbd43ff19f304904ab3fb610005fed800cdf86b40d148,用下面的命令核对。用授权编号时,最后一行换成 sudo bash install.sh --license-id LIC-xxx --activation-key 激活密钥。验签要 OpenSSL 3.0 及以上,Rocky/AlmaLinux 8 先装 openssl3 并把命令里的 openssl 换掉。无人值守安装加 --accept-license。
cat >cdn-release.pub.pem <<'EOF'
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAdg6lzhrIH/5Q9g4hykhtUyra2ZI1ZaoN236FrIV88ag=
-----END PUBLIC KEY-----
EOF
openssl pkey -pubin -in cdn-release.pub.pem -outform DER | sha256sum
curl -fsSL https://dl.allwaf.com/cdn/install.sh.sig -o install.sh.sig
curl -fsSL https://dl.allwaf.com/cdn/install.sh -o install.sh
openssl pkeyutl -verify -pubin -inkey cdn-release.pub.pem -rawin -in install.sh -sigfile install.sh.sig &&
sudo bash install.sh --license-file /路径/license.json装完马上做
管理员口令只在安装结束时显示一次,抄下来,首次登录必须修改。然后把 /etc/cdn-server/server.env 备份到这台机器之外:里面的 CDN_MASTER_KEY 是解密库里所有机密的钥匙,丢了 DNS 凭据、支付密钥、证书私钥就再也解不开。
接入节点
先到「系统设置 › 节点安装」填主控地址,建议用 https 域名。在「节点列表」添加节点,控制台给出一条安装命令,在节点上以 root 执行,令牌 24 小时内有效、只能用一次。看到「在线」「已生效」就可以接收流量了。节点用 systemd 安装,这是唯一的交付方式。
curl -fsSL https://主控地址/install.sh | bash -s -- --server https://主控地址 --token 一次性令牌配置 HTTPS
节点同步配置时证书私钥和令牌都走这条通道,节点和主控不在同一内网时一定要配 HTTPS。用 DNS 验证申请控制台域名的证书(或上传证书),到「系统设置 › 控制台监听」选好,重启主控,再把主控地址改成 https。已经装好的节点不会自己切过去,要重跑一次安装命令,这台节点会短暂中断,请一台一台来。主控在 nginx 或负载均衡后面时,在 server.env 写 CDN_TRUSTED_PROXIES,否则登录限流和操作日志认不出真实来源。HTTPS 带一年期的 HSTS,访问过的浏览器再开 http://同一域名:8080 会打不开。