You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置代理的.NET应用访问GCP Secret Manager报错的解决方法

.NET Cloud Run应用配置代理后访问Secret Manager的问题解决

问题描述

部署在Google Cloud Run上的.NET应用,未配置代理时可正常访问GCP Secret Manager;但设置http_proxy/https_proxy环境变量后,访问Secret Manager出现以下错误:

StatusCode="Internal", Detail="Error starting gRPC call. HttpRequestException: Unable to get subchannel from HttpRequestMessage. (internet.cp.fd.com:24)
InvalidOperationException: Unable to get subchannel from HttpRequestMessage."

已尝试操作:

  • 配置NO_PROXY绕过secretmanager.googleapis.com,无效果
  • 在C#控制器中设置代理环境变量为null,问题未解决

需求:实现应用通过代理处理普通HTTP请求,同时正常访问Secret Manager,或单独禁用Secret Manager请求的代理。

解决方案

1. 单独为Secret Manager客户端禁用代理

GCP Secret Manager客户端基于gRPC,可通过自定义GrpcChannelOptions强制绕过代理:

using Google.Cloud.SecretManager.V1;
using Grpc.Net.Client;

// 构建禁用代理的gRPC通道配置
var channelOptions = new GrpcChannelOptions
{
    HttpHandler = new HttpClientHandler
    {
        UseProxy = false
    }
};

// 创建带自定义配置的客户端
var channel = GrpcChannel.ForAddress("https://secretmanager.googleapis.com", channelOptions);
var secretClient = new SecretManagerServiceClient(channel);

// 使用secretClient执行Secret Manager操作,例如获取密钥
var secretVersion = secretClient.AccessSecretVersion(new AccessSecretVersionRequest
{
    Name = "projects/[你的项目ID]/secrets/[密钥名]/versions/latest"
});

2. 修正NO_PROXY环境变量配置

确保NO_PROXY的格式和覆盖范围正确:

  • 设置值为secretmanager.googleapis.com,*.secretmanager.googleapis.com(覆盖所有相关子域名)
  • 环境变量名必须为大写NO_PROXY(部分系统对大小写敏感)
  • 修改Cloud Run环境变量后,需重新部署应用才能生效

3. 全局配置gRPC客户端代理排除

在应用启动时,通过依赖注入统一配置Secret Manager客户端的代理规则:

// Program.cs中添加服务配置
builder.Services.AddGrpcClient<SecretManagerServiceClient>(options =>
{
    options.Address = new Uri("https://secretmanager.googleapis.com");
})
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
    UseProxy = false
});

4. 检查代理服务器的gRPC兼容性

若必须通过代理访问gRPC服务,需确认代理服务器支持HTTP/2协议(gRPC依赖HTTP/2)。如果当前代理不支持,只能选择绕过代理访问Secret Manager,或更换支持gRPC的代理服务器。

内容的提问来源于stack exchange,提问作者Sujith S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 02:22:34