diff --git a/admin/server/service/gaia/bedrock_extend.go b/admin/server/service/gaia/bedrock_extend.go index f237be94c..cf383237c 100644 --- a/admin/server/service/gaia/bedrock_extend.go +++ b/admin/server/service/gaia/bedrock_extend.go @@ -93,6 +93,14 @@ func (s *ModelProviderService) proxyBedrockRequest( } requestURL := fmt.Sprintf("https://%s/model/%s/%s", host, url.PathEscape(modelID), op) + // 打印请求地址、参数和代理地址 + global.GVA_LOG.Info("Bedrock 请求详情", + zap.String("request_url", requestURL), + zap.String("method", method), + zap.ByteString("body", rewritten), + zap.String("proxy_url", creds.BedrockProxyURL), + ) + httpReq, err := http.NewRequest(method, requestURL, bytes.NewReader(rewritten)) if err != nil { return fmt.Errorf("构建 Bedrock 请求失败:%w", err) diff --git a/admin/server/service/gaia/model_provider.go b/admin/server/service/gaia/model_provider.go index 1b60a744d..9a9a20a2e 100644 --- a/admin/server/service/gaia/model_provider.go +++ b/admin/server/service/gaia/model_provider.go @@ -714,6 +714,15 @@ func (s *ModelProviderService) GetDifyProviderCredentials(providerName string) ( if v, ok2 := configMap[gaia.ConfigKeyAWSRegion].(string); ok2 && v != "" { creds.AWSRegion = strings.TrimSpace(v) } + // 可选:HTTP 代理地址(用于从受限地区中转 Bedrock 请求)。 + // 支持 "host:port" 或 "http(s)://host:port";若值被加密则先解密,失败时按原文处理。 + if v, ok2 := configMap[gaia.ConfigKeyBedrockProxyURL].(string); ok2 && strings.TrimSpace(v) != "" { + proxyVal := strings.TrimSpace(v) + if decrypted, decErr := s.decryptConfig(proxyVal, row.TenantID); decErr == nil && decrypted != "" { + proxyVal = strings.TrimSpace(decrypted) + } + creds.BedrockProxyURL = proxyVal + } } else { // 尝试从备选字段中查找 for _, key := range gaia.CredentialKeyFallback {