ARG
仅构建期;可能出现在历史、元数据或 provenance。不能传密钥。
NEXT.JS 16 · ENVIRONMENT LIFECYCLE LAB
变量名不是安全边界,注入位置也不等于最终去向。把每个值沿着构建、镜像与服务器、浏览器三段传送带走一遍,检查它是否被冻结、需要重建、能否运行时更新,以及有没有被应用主动送进响应或日志。
模拟先在 Preview 构建,再把产物或镜像推向 Prod。
同一个镜像进入 Prod;服务器从运行时变量读取,浏览器只通过白名单配置端点获取可公开值。
公开端点不是“把所有环境变量返回”。它必须只返回明确白名单中的非密钥配置,并按需要控制缓存。
值仅为教学样例,请勿粘贴真实密钥。
改变任一字段,右侧去向与风险会立即重算。
正在分析变量生命周期。
每张标签显示变量在哪个阶段真实可用;密钥标签只显示掩码。
“server-only”只表示默认不进客户端;代码主动返回、渲染或记录时仍会泄露。
区分构建参数、镜像默认环境、临时构建挂载与容器运行时注入。
仅构建期;可能出现在历史、元数据或 provenance。不能传密钥。
写进镜像配置,并成为容器默认环境。可被检查和覆盖,不是密钥保险箱。
只在对应 RUN 指令临时挂载;不自动进入镜像。若应用把值写入产物,仍会泄露。
容器启动时注入,适合服务器运行时配置;对已经完成的构建与静态预渲染太晚。
PROGRESSIVE PRACTICE · 12 LEVELS
每关载入一个真实故障模型。修改上方变量和晋升策略,再回来验证。