fix: console账号转发使用白名单透传header

This commit is contained in:
shaw
2025-12-15 09:38:51 +08:00
parent 87426133a2
commit ce13e5ddb1

View File

@@ -11,6 +11,7 @@ const {
} = require('../utils/errorSanitizer') } = require('../utils/errorSanitizer')
const userMessageQueueService = require('./userMessageQueueService') const userMessageQueueService = require('./userMessageQueueService')
const { isStreamWritable } = require('../utils/streamHelper') const { isStreamWritable } = require('../utils/streamHelper')
const { filterForClaude } = require('../utils/headerFilter')
class ClaudeConsoleRelayService { class ClaudeConsoleRelayService {
constructor() { constructor() {
@@ -1302,30 +1303,9 @@ class ClaudeConsoleRelayService {
// 🔧 过滤客户端请求头 // 🔧 过滤客户端请求头
_filterClientHeaders(clientHeaders) { _filterClientHeaders(clientHeaders) {
const sensitiveHeaders = [ // 使用统一的 headerFilter 工具类(白名单模式)
'content-type', // 与 claudeRelayService 保持一致,避免透传 CDN headers 触发上游 API 安全检查
'user-agent', return filterForClaude(clientHeaders)
'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
} }
// 🕐 更新最后使用时间 // 🕐 更新最后使用时间