golang cdn,GoEdge 是一款可以帮你快速构建 CDN & WAF 平台的工具,支持 HTTP、HTTPS、Websocket、TCP、TLS、UDP、PROXY Protocol、IPv6、WAF 等特性,支持多个第三方 DNS 服务。
在经历3年研发、1500+社群用户深度使用、5000个commits之后,GoEdge决定发布1.0.0版本。GoEdge v1.0.0版本主要大幅优化攻击拦截功能、更新免费版IP库、批量上传SSL证书。
EdgeAdmin - 管理系统
- 网站服务
- 优化创建网站服务界面:简化界面,减少必填项
- 当HTTP和HTTPS端口冲突时提示用户;避免用户同时在HTTP和HTTPS设置中使用同样的端口
- 集群服务设置增加“支持低版本HTTP”选项,可以选择不支持HTTP/1.0及以下版本的HTTP协议
- 缓存
- 修复在未初始化缓存设置时添加缓存条件产生的panic错误,但此错误不会影响系统正常运行
- 访问日志数据库节点详情中密码使用星号(*)代替,以提升安全性
- SSL证书内容输入框支持拖动文件上传
- 优化节点列表显示,包括统计项宽度、连接数更加可读、带宽使用两位小数、隐藏和显示更多IP
- 创建SSH认证私钥时校验私钥内容;避免填入错误的私钥
- 管理员列表页增加关键词搜索支持
- 日志审计增加日志级别筛选
- 如果管理系统同时设置了HTTP和HTTPS端口,那么访问HTTP登录页时自动跳转到HTTPS地址
- 自动安装MySQL时自动生成所需的动态库软链接,以适应一些比较新的系统
EdgeAPI - API节点
- 数据库
- 使用sql.json取代以往的sql.go作为数据库结构存储文件
- 优化服务列表查询方法,避免因MySQL参数设置而导致查询失败
- 在API节点启动时,如果无法连接到本地MySQL数据库,则尝试启动固定位置上的MySQL,避免有些用户不知道如何启动MySQL
- 域名解析
- 修复无法同时对相同对象执行多次DNS解析任务的问题
- DNS解析发生变化时立即触发同步任务,即让域名解析生效更快
- 优化节点配置生成,合并证书数据,减少配置文件尺寸
- 合并部分流量查询和带宽查询,提升查询速度
- 修复发送站内消息时将标题作为内容的Bug
- 修复删除IP名单中IP时状态设置错误的问题,此问题可能会导致节点在从IP名单中删除单个IP时消耗大量的CPU
EdgeNode - 边缘节点
- WAF
- 在GET302和CAPTCHA验证中不记录特殊URL的访问日志,避免生成大量无效的访问日志
- 优化IP名单上传程序,自动去重,并可以批量上传
- 优化WAF黑名单处理,即使WAF不开启也仍然有效,并自动结合本地防火墙进行拦截
- nftables规则使用REJECT代替DROP
- URL跳转没有选择状态码时,对搜索引擎访问默认值设置为301,以提升SEO效果
- 源站返回分片内容时提示访问用户内容不支持低版本HTTP协议
- 增加网站服务加载和删除调试日志,这些日志不会上传到API节点
- 限制单个服务每次上传的域名统计数不超过20个,避免大量的域名统计对API节点数据库造成很大的压力
- 修复在高并发下修改服务配置可能导致服务崩溃(panic)的问题
- 重启服务时自动保存未上传的带宽统计信息,以便在下次启动的时候恢复
- 增加RPC消息最大尺寸到512MB,避免大的配置信息无法传输
- 不提示单个端口Reload信息,防止不重要的日志过多
- 节点启动时自动调整相关内核参数,如net.core.somaxconn、net.ipv4.tcp_fin_timeout等
EdgeCommon - 通用库
- 修复IP查询结果显示时可能不显示县级单位的问题
完整变更说明:https://goedge.cn/docs/Releases/Index.md
下载:https://goedge.cn/downloads
编程笔记 » golang cdn,GoEdge CDN v1.0.0 发布,大幅优化 WAF/更新 IP 库/批量上传 SSL 证书