From ce13e5ddb18b9946a9ffff2005a5c3c3cacf264c Mon Sep 17 00:00:00 2001 From: shaw Date: Mon, 15 Dec 2025 09:38:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20console=E8=B4=A6=E5=8F=B7=E8=BD=AC?= =?UTF-8?q?=E5=8F=91=E4=BD=BF=E7=94=A8=E7=99=BD=E5=90=8D=E5=8D=95=E9=80=8F?= =?UTF-8?q?=E4=BC=A0header?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/claudeConsoleRelayService.js | 28 ++++------------------- 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/src/services/claudeConsoleRelayService.js b/src/services/claudeConsoleRelayService.js index 81221f81..31e8af83 100644 --- a/src/services/claudeConsoleRelayService.js +++ b/src/services/claudeConsoleRelayService.js @@ -11,6 +11,7 @@ const { } = require('../utils/errorSanitizer') const userMessageQueueService = require('./userMessageQueueService') const { isStreamWritable } = require('../utils/streamHelper') +const { filterForClaude } = require('../utils/headerFilter') class ClaudeConsoleRelayService { constructor() { @@ -1302,30 +1303,9 @@ class ClaudeConsoleRelayService { // 🔧 过滤客户端请求头 _filterClientHeaders(clientHeaders) { - const sensitiveHeaders = [ - 'content-type', - 'user-agent', - 'authorization', - 'x-api-key', - 'host', - 'content-length', - 'connection', - 'proxy-authorization', - 'content-encoding', - 'transfer-encoding', - 'anthropic-version' - ] - - const filteredHeaders = {} - - Object.keys(clientHeaders || {}).forEach((key) => { - const lowerKey = key.toLowerCase() - if (!sensitiveHeaders.includes(lowerKey)) { - filteredHeaders[key] = clientHeaders[key] - } - }) - - return filteredHeaders + // 使用统一的 headerFilter 工具类(白名单模式) + // 与 claudeRelayService 保持一致,避免透传 CDN headers 触发上游 API 安全检查 + return filterForClaude(clientHeaders) } // 🕐 更新最后使用时间