HTTPS 证书过期一次,全服登录白屏了半个多小时,值班才发现证书没人管。证书续期机制把到期日写进系统变量,每日定时检查剩余天数:30 天发提醒邮件,7 天内升级加急通道,续期完成后登记新到期日,全流程留痕可查。
到期时间戳存系统变量,每日定时器算一次剩余天数,按 30 天与 7 天两档分别提醒值班与运维负责人。
setontimerex(184, 86400)
function ontimer184()
local expire = tonumber(getsysvar("CERT_TS") or "0")
local left = math.floor((expire - os.time()) / 86400)
if left <= 7 then
sendmail("#运维老张", 915, "证书临期加急", "HTTPS 证书剩余 " .. left .. " 天", "")
elseif left <= 30 then
sendmail("#值班老张", 916, "证书续期提醒", "HTTPS 证书剩余 " .. left .. " 天", "")
end
end
续期完成后把新到期时间戳登记进系统变量并落盘,同时全服广播确认,登记动作与告警共用同一把时间戳钥匙。
local function registerCert(expireTs)
setsysvarex("CERT_TS", expireTs, 1)
sendcentermsg("站点证书已续期,有效期至 " .. os.date("%Y-%m-%d", expireTs))
end
提醒链路验证 31 天不提醒、30 天首档提醒、7 天加急三档分流;剩余天数为负数的过期场景核对加急告警;续期登记后提醒自然停止。证书链覆盖主域与三个子域,任何一张到期都单独提醒不合并。到期时间戳的来源从证书文件自动解析后,登记环节的人力成本降为零,值班只负责处理告警。监控每月证书告警的触发次数,一年四次提醒对应一次续期,多出来的都是异常登记。
CERT_TS 曾被误填成证书的签发日期,剩余天数算出负数,加急告警天天响,登记动作改成从证书文件解析到期日自动填入。证书覆盖主域与三个子域,只登记了主域一张,子域证书先过期三天没人知道,域名清单逐域登记。续期由人工在控制台操作,操作完成后忘记执行登记函数,提醒持续误报,登记做成续期脚本的收尾步骤自动执行。提醒邮件最初没有分级,临期 30 天与 7 天用同一模板,值班按习惯忽略,两档分开标题后才被认真对待。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 明拍容易被大号威慑,普通玩家不敢出手。秘宝暗拍改为全服暗标:每周一件秘宝,玩家密价投标一次,截标前互相看…
实战应用:用在哪里 充值返利活动被风控规则误判成套利,480 个大额充值账号被批量封禁 24 小时,申诉两小时破千条。误封风…
实战应用:用在哪里 五人小队打沃玛教主,队友的血量状态只能靠点头像逐个看,集火转火慢半拍。小队血条在屏幕侧边紧凑排布四条队友…
实战应用:用在哪里 好友申请藏在好友面板的角标里,玩家半天不看一眼,申请积压让社交转化掉了一半。好友申请浮窗把新申请推到屏幕…
实战应用:用在哪里 矿洞产出人人有份等于人人不重视,矿位租赁把矿洞变成可经营资产:矿位按 24 小时租给个人或行会,产出归租…
实战应用:用在哪里 击杀 BOSS 后要同时做三件事:发奖励、记流水、刷新排行榜,全都写在 killmon 触发里互相拖累,…