Skip to content

fix(gemini): 修复 Gemini Vertex Service Account 账号测试时,前置 OAuth token 请求没有使用账号代理的问题#2297

Merged
Wei-Shaw merged 3 commits into
Wei-Shaw:mainfrom
ZeroDeng01:dev
May 11, 2026
Merged

fix(gemini): 修复 Gemini Vertex Service Account 账号测试时,前置 OAuth token 请求没有使用账号代理的问题#2297
Wei-Shaw merged 3 commits into
Wei-Shaw:mainfrom
ZeroDeng01:dev

Conversation

@ZeroDeng01
Copy link
Copy Markdown
Contributor

Summary

修复 Gemini Vertex Service Account 账号测试时,前置 OAuth token 请求没有使用账号代理的问题。
此前账号绑定代理后,后续 Vertex API 请求会走 httpUpstream 代理链路,但 Service Account 换取 access token 的请求仍使用裸 http.Client 直连 https://oauth2.googleapis.com/token,在无法直连 Google OAuth 的环境中会超时。
close: #2252

Changes

  • 让 Vertex Service Account token exchange 读取账号绑定的 proxy 配置。
  • 复用现有 proxyurlproxyutil 代理解析/Transport 配置逻辑。
  • 无账号代理时保留原有默认 HTTP client 行为。
  • 增加测试覆盖:
    • 账号代理 URL 提取逻辑。
    • token 请求会实际发送到配置的代理。

Testing

本地已做:

  • git diff --check
  • gofmt
  • go test ./backend/internal/service -run 'Test(VertexServiceAccountProxyURL|ExchangeVertexServiceAccountTokenUsesProxy)'
  • go test -tags=unit ./...
  • golangci-lint run ./...

Notes

这个修复覆盖的是 Vertex Service Account 的 OAuth token 获取阶段,也就是报错中的:

Post "https://oauth2.googleapis.com/token": context deadline exceeded

修复后,如果账号绑定了代理,这个 token 请求会和后续 Vertex API 请求一样使用账号代理网络。

CLA

I have read the CLA Document and I hereby sign the CLA

@ZeroDeng01 ZeroDeng01 changed the title fix(gemini): route Vertex token exchange through account proxy fix(gemini): 通过账户设置的代理进行Vertex 令牌交换请求,修复Vertex获取令牌时没有经过帐号代理的问题 May 9, 2026
@ZeroDeng01 ZeroDeng01 changed the title fix(gemini): 通过账户设置的代理进行Vertex 令牌交换请求,修复Vertex获取令牌时没有经过帐号代理的问题 fix(gemini): 修复 Gemini Vertex Service Account 账号测试时,前置 OAuth token 请求没有使用账号代理的问题 May 9, 2026
@ZeroDeng01
Copy link
Copy Markdown
Contributor Author

@Wei-Shaw THX~

@ZeroDeng01
Copy link
Copy Markdown
Contributor Author

@Wei-Shaw The lint issue and conflict have been resolved. Thank you for the review

@Wei-Shaw Wei-Shaw merged commit 348eeaa into Wei-Shaw:main May 11, 2026
7 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators May 11, 2026
@ZeroDeng01 ZeroDeng01 deleted the dev branch May 11, 2026 08:14
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Gemini的Vertex渠道没有通过代理网络进行网络请求导致连通性问题

2 participants