预发环境复用了线上的脱敏配置,但开关默认是 false,测试同事看到的全是明文,截图直接发到群里。乍看像缓存或者权限的锅,追下去往往不是。
mask.enabled=true mask.level=strict
追下去是这么回事:配置只有一份,环境靠启动参数覆盖,漏传就取默认值。默认值为了调试方便设成了关闭脱敏。
「脱敏配置环境隔离」这类改动最怕改一半,回滚脚本先准备好,再动生产。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。
线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。
权限不要一口气开到最大,先加到够用再往上试,范围小才好收。
具体做法是,每个环境单独配置文件 不共用;默认值改成开启脱敏;启动时打印当前开关状态;预发用接近生产的数据验证一遍。
验收就看一点,预发启动日志显示 mask.enabled=true 页面全是掩码。
