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

Bot Framework Composer集成CQA遇自签名证书链错误求助

问题原因
  • Bot Framework Composer基于Node.js运行,但它的进程上下文和用户本地命令行、Postman不同,直接在Composer的运行时设置中添加NODE_TLS_REJECT_UNAUTHORIZED=0,无法覆盖发起HTTP请求和包管理操作的进程环境变量。
  • Postman默认提供关闭SSL验证的选项,命令行操作时环境变量会直接生效,但Composer的独立运行进程未继承该配置,导致自签名证书被拒绝。
解决方法

1. 全局禁用Composer进程的SSL验证(推荐开发环境使用)

根据操作系统不同,修改Composer的启动方式以注入环境变量:

  • Windows:找到Composer的桌面快捷方式,右键选择「属性」,在「目标」字段末尾添加 --NODE_TLS_REJECT_UNAUTHORIZED=0(注意前面有空格),保存后重新启动Composer。
  • macOS:打开终端,执行以下命令启动Composer:
    NODE_TLS_REJECT_UNAUTHORIZED=0 /Applications/Bot\ Framework\ Composer.app/Contents/MacOS/BotFrameworkComposer
    
    也可以通过Automator创建启动脚本,预设环境变量后启动应用。
  • Linux:在终端中启动Composer前先设置环境变量:
    NODE_TLS_REJECT_UNAUTHORIZED=0 ./BotFrameworkComposer
    

2. 项目级运行时配置(针对Bot向CQA发起请求的场景)

  • 打开Composer并进入目标Bot项目
  • 点击左侧「项目设置」→「环境」
  • 点击「添加」,设置变量名为NODE_TLS_REJECT_UNAUTHORIZED,值为0
  • 保存配置后重启Bot运行时,确保变量被加载到Bot进程中

3. 包管理器单独配置

如果是Composer内的包安装报错,可针对包管理器单独设置:

  • NuGet:在项目根目录的NuGet.Config文件中,给对应的源节点添加信任配置:
    <packageSources>
      <add key="YourSource" value="https://your-private-feed" />
    </packageSources>
    <packageSourceCredentials>
      <YourSource>
        <add key="trustServerCertificate" value="true" />
      </YourSource>
    </packageSourceCredentials>
    
  • npm:在终端执行npm config set strict-ssl false,全局禁用npm的SSL严格验证,之后重启Composer即可生效。
注意事项
  • 禁用SSL验证仅适合本地开发环境,生产环境必须使用CA签发的合法证书,避免安全风险。
  • 若修改后仍报错,需彻底关闭Composer的所有进程,再重新启动确保配置生效。

内容的提问来源于stack exchange,提问作者R Naga Jyothi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 20:42:40