CDN & WAF集群管理系统。 https://goedge.cloud
1. 安装 MySQL8
goedge 是要使用数据库的,官方提供了一键安装 MySQL8 的脚本,BUT 我用那个脚本没有安装成功过,所以就自己动手安装。为了不会出现问题,我们就与官方保持一致,使用 MySQL81.1 程序安装
以 Debian 为例,首先去MySQL官网下载 apt 存储库,注意这里务必去官网下载最新的,否则可能无法使用。wget https://dev.mysql.com/get/mysql-apt-config_0.8.26-1_all.deb
apt install ./mysql-apt-config_*_all.deb


apt update && apt install mysql-server -y
安装时会要求设定 root 密码



systemctl enable --now mysql
检查运行状态
systemctl status mysql
为了安全,要采取一些保护
sudo mysql_secure_installation
会出现一些安全选项,按照需求设定就行了
1.2 创建用户及数据库
首先添加一个新用户CREATE USER 'YOUR_USERNAME'@'localhost' IDENTIFIED BY 'YOUR_PWD';
然后创建一个新数据库
CREATE DATABASE YOUR_DATABASE;
最后给该用户授予操作该数据库的权限
GRANT ALL PRIVILEGES ON YOUR_DATABASE.* TO 'YOUR_USERNAME'@'localhost';
FLUSH PRIVILEGES;
2. 安装 goedge
推荐使用官方提供的一键脚本安装sudo sh -c "$(wget https://goedge.cn/install.sh -O -)"




3. CDN 基本配置
3.1 面板基本设置
现在先不要着急添加节点,我们先去做一些基本的设置 首先去开启更新检查
- 勾选上
自动检查
非常建议开启自动检查,这样在有更新时就可以及时看到更新提示
然后去禁止搜索引擎,爬虫等访问

- 勾选上
禁止搜索引擎 - 勾选上
禁止爬虫 - 勾选上
检查客户端指纹 - 添加
允许访问的域名(可选,但十分建议)
十份建议添加允许访问的域名,这样可以使用域名访问并开启 https,既安全又方便
假设你使用 your.domain 作为允许访问的域名,那么现在需要通过 http://your.domain:7788 访问面板
为了让 CDN 能够自动为我们申请证书并续签,我们还需要一些配置,稍后再回来开启面板 https
3.2 添加 DNS 服务商
首先添加域名解析服务商,进入域名解析 -> DNS服务商

添加DNS账号信息 ,根据提示填入相应信息
添加后,点击同步来获取当前的解析信息
务必要点击立即同步,后面才能正常使用 DNS 的分地域解析功能
3.3 配置 SSL 证书申请
现在添加证书申请服务商,进入网站列表 -> 证书管理 -> 服务商账号

创建账号

网站列表 -> 证书管理 -> 申请证书 -> ACME用户

创建用户


使用DNS认证

选择服务商 和 选择ACME用户 两项

系统设置 -> Web服务

- 勾选
启用HTTPS - 点击
选择已有证书,选上你刚申请的证书

cd /$EdgeAdmin安装目录/bin
例如我安装时的默认路径
cd /usr/local/goedge/edge-admin/bin
执行
edge-admin restart
重启后,使用 https://your.domain 访问即可,其中 your.domain 是你所绑定的域名
现在可以关闭 http 访问,只允许 https 访问
修改后同样需要重启面板生效
4. 添加集群及节点
4.1 创建集群
程序默认包含一个默认集群
边缘节点 -> 集群
点击左上角的创建集群


4.2 添加节点
现在连接到你想要添加的节点的 SSH,进行一些准备工作 安装一些必要的依赖apt install -y iptables ipset firewalld nftables
防火墙放行端口,其中 YOUR_SSH_PORT 是你的 SSH 端口
firewall-cmd --permanent --zone=public --add-port=YOUR_SSH_PORT/tcp
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --reload
创建一个 cdn 专用的账户,以 cdnuser 为例
sudo useradd -d /home/cdnuser -m cdnuser
设置该用户的密码
sudo passwd cdnuser
赋予该用户 sudo 权限
usermod -a -G sudo cdnuser
更改时区
sudo timedatectl set-timezone Asia/Shanghai
这里的时区必须与主控相同,否则安装时会报错
test failed: Process exited with status 127
更改系统名,其中 your.domain.name 是你目标更改的系统名,必须是域名格式
sudo hostnamectl set-hostname your.domain.name
更改 hosts,其中 your.domain.name 是你目标更改的系统名
sudo nano /etc/hosts
127.0.0.1 your.domain.name
边缘节点 -> 节点SSH -> 创建认证

边缘节点 -> 创建节点


允许公开访问
其余信息按照实际填写即可,选择保存好的 ssh 认证


5. 添加网站
接下来就是最后一步了:添加目标网站,进入网站列表

创建网站

部署的集群,添加 绑定的域名,选择 HTTPS证书,填写 源站地址

源站协议,填写 源站地址 即可
添加网站后,也有一些建议开启的自定义选项
进入 网站列表 -> 设置 DNS

支持任意域名CNAME
进入 网站列表 -> 设置 -> HTTP

自动跳转到HTTPS
进入 网站列表 -> 设置 -> HTTPS

开启HSTS 和 OCSP Stapling
剩余的选项就可以自行研究了,按照需求调整
至此,专属于你的 CDN 就完成啦,将目标网站解析到这里,试试吧!
6. 后续维护
这个系统总体来说比较完善,大多数功能在面板里操作就够了,需要手动维护的主要是程序更新。 下载 edgeboot 用于管理wget https://dl.goedge.cn/edge-boot/linux/amd64/edge-boot
若要更新,执行
chmod u+x ./edge-boot #第一次运行时,需要修改此文件为可执行
./edge-boot upgrade admin









