From d1d80acef843bd23c6cc83c75a3a49bef5b9da38 Mon Sep 17 00:00:00 2001 From: ERROR204 <39237997+tbc0309@users.noreply.github.com> Date: Sun, 29 Jun 2025 03:00:25 +0800 Subject: [PATCH 1/2] fix service.js --- public/service.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/public/service.js b/public/service.js index fab4a526..8731d5a8 100644 --- a/public/service.js +++ b/public/service.js @@ -22,17 +22,15 @@ app.use( proxyReqPathResolver: (req) => { return `/api${req.url}` }, - // 动态设置超时时间:SSE无超时,普通请求600秒超时 - timeout: (req) => { - const isSSE = req.headers.accept && req.headers.accept.includes('text/event-stream'); - return isSSE ? 0 : 600000; - }, proxyReqOptDecorator: (proxyReqOpts, srcReq) => { proxyReqOpts.headers = proxyReqOpts.headers || {}; // 检测是否为SSE请求 const isSSE = srcReq.headers.accept && srcReq.headers.accept.includes('text/event-stream'); + // 动态设置超时时间:SSE无超时,普通请求600秒超时 + proxyReqOpts.timeout = isSSE ? 0 : 600000; + if (isSSE) { // SSE请求的特殊头部设置 proxyReqOpts.headers['Cache-Control'] = 'no-cache'; From 3503e7d5b184fb867be1932fb0a97e9daa104c18 Mon Sep 17 00:00:00 2001 From: ERROR204 <39237997+tbc0309@users.noreply.github.com> Date: Sun, 29 Jun 2025 03:06:31 +0800 Subject: [PATCH 2/2] fix service.js --- public/service.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/public/service.js b/public/service.js index 8731d5a8..e5ce288c 100644 --- a/public/service.js +++ b/public/service.js @@ -60,7 +60,7 @@ app.use( return proxyResData; } }, - // 统一错误处理 + // 统一错误处理(添加超时错误处理) proxyErrorHandler: (err, res, next) => { // 客户端断开连接的正常情况(常见于SSE) if (err.code === 'ECONNRESET' || err.code === 'EPIPE') { @@ -69,6 +69,15 @@ app.use( return; } + // 添加超时错误处理 + if (err.code === 'ETIMEDOUT') { + console.log('Proxy request timed out:', err.code); + if (!res.headersSent) { + res.status(504).send('Gateway Timeout'); + } + return; + } + // 其他错误正常处理 console.error('Proxy error:', err); next(err);