Node.js 22 (LTS) — 内置 HTTP/HTTPS 代理 + 百分比内存大小设置(对生产部署至关重要)

Node.jsDevOpsDockerCloud

关键更新

Node.js v22.21.0 (LTS)(发布于 2025‑10‑20)提供了对 http/https(包括 fetch)的内置代理处理,通过 NODE_USE_ENV_PROXY / --use-env-proxy,这是一个新的 CLI 标志,用于选择使用环境代理设置,新增的 shouldUpgradeCallback 提供了对 HTTP 升级处理的细粒度控制,并且支持 --max-old-space-size 的百分比设置,以便内存限制可以相对于可用内存进行表达。 (nodejs.org)

重要性

这些看似微小的平台变化却具有巨大的操作影响:内置代理支持消除了在企业代理或受限网络后面运行时对每个应用程序代理适配器或运行时解决方法的需求(客户端 fetch、http.request 和 Agent 现在遵循环境代理)。基于百分比的 --max-old-space-size 使 Node 内存配置在容器化环境中更加安全和可预测(您可以设置像 50% 这样的内存上限,而不是硬编码 MB 值),这减少了因 OOM 导致的发布,并简化了自动扩展模板。shouldUpgradeCallback 使服务器在 HTTP 层面上对 WebSocket/升级决策有明确的控制,这在负载均衡器或身份验证门控场景中非常有用。总的来说,这些变化减少了脆弱的平台粘合,简化了 CI/CD 和镜像构建,并且在预发布环境中采用风险较低;团队应在 CI 中添加一个 Node‑22 任务,测试在代表性容器内存限制下的代理和内存行为,然后安排对生产 LTS 目标的受控发布(Node 22.x 是其生命周期内的活跃 LTS 版本)。 (nodejs.org)

来源

继续阅读