You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure JavaScript示例Bot部署后测试遇IIS 500错误求助

问题描述

按照微软官方文档部署BotBuilder-Samples中的JavaScript版Echo Bot,使用托管标识完成部署后,通过Web Chat和Teams渠道测试时触发IIS内部服务器错误(HTTP 500.1002)。

核心错误堆栈:

Wed Aug 02 2023 02:15:36 GMT+0000 (Greenwich Mean Time): Application has thrown an uncaught exception and is terminated:ReferenceError: FinalizationRegistry is not defined
at Object.<anonymous> (C:\home\site\wwwroot\node_modules\on-exit-leak-free\index.js:11:18)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (C:\home\site\wwwroot\node_modules\pino\lib\tools.js:8:16)
排查与解决指引

1. 核心原因定位

FinalizationRegistry是ECMAScript 2021标准特性,仅支持Node.js 14.6.0及以上版本(对应V8引擎8.4及以上)。当前Azure App Service运行的Node.js版本过低,导致依赖库on-exit-leak-free(被pino日志库调用)找不到该API,引发应用崩溃。

2. 检查当前Node.js版本

  • 登录Azure门户,进入目标App Service资源
  • 左侧导航栏选择配置 > 常规设置
  • 查看Node.js版本参数,确认是否低于14.6.0

3. 升级Node.js版本

  • 在常规设置中,将Node.js版本切换至14.x、16.x或18.x(推荐长期支持LTS版本)
  • 保存配置后,重启App Service实例
  • 重新通过Web Chat或Teams渠道测试Bot功能

4. 辅助验证与优化

  • 检查项目根目录的package.json,确保engines字段指定了兼容的Node.js版本,示例:
    "engines": {
      "node": ">=14.6.0"
    }
    
  • 部署前清理本地node_modules目录,避免将本地依赖直接打包上传(推荐依赖Azure部署流程自动构建依赖)
  • 查看App Service的日志流,确认重启后是否消除错误;若仍有问题,排查其他依赖库的版本兼容性

内容的提问来源于stack exchange,提问作者bbagaria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 15:12:02