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

如何通过Restify或Azure Web App延长Teams通知Bot的请求超时?

解决Restify+Azure Web App请求超时问题

一、Restify层面的正确配置

你之前直接修改server.server的参数可能没覆盖Restify自身的超时控制,试试以下完整配置:

  1. 创建Server时指定Restify自身的请求超时
const server = restify.createServer({
  requestTimeout: 10 * 60 * 1000 // 10分钟,单位毫秒
});
  1. 补充Node.js HTTP Server底层超时设置
    Restify基于Node.js的http.Server,除了常规超时,还需设置headersTimeout(必须比keepAliveTimeout稍大),避免底层连接提前断开:
// 10分钟+1秒,确保覆盖请求超时时长
server.server.keepAliveTimeout = 10 * 60 * 1000 + 1000;
// 10分钟+2秒,防止headers超时触发连接断开
server.server.headersTimeout = 10 * 60 * 1000 + 2000;
// 设置请求超时
server.server.setTimeout(10 * 60 * 1000);

二、Azure Web App的超时设置

Azure应用服务网关默认请求超时为230秒(约3分50秒),这个限制会覆盖代码中的设置,必须在Azure端调整:

方法1:Azure门户操作

  • 进入你的Web App资源,点击左侧菜单「配置」→「常规设置」
  • 找到「请求超时」选项,输入需要的秒数(比如600=10分钟,最大支持900秒=15分钟)
  • 点击「保存」,重启Web App生效

方法2:Azure CLI命令

替换参数后执行:

az webapp config set --name <你的WebApp名称> --resource-group <你的资源组名称> --request-timeout 600

方法3:应用设置添加参数

  • 进入Web App的「配置」→「应用设置」
  • 添加新设置:名称WEBSITE_REQUEST_TIMEOUT,值600(单位:秒)
  • 保存后重启应用

注意事项

  • 临时延长超时只是权宜之计,建议尽快优化Teams通知的请求逻辑(比如异步处理、队列化发送),避免长时间阻塞请求
  • Azure Web App的请求超时最大限制为900秒,无法超过此值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 19:31:04