gRPC-Go: WithNoProxy でプロキシ検出を回避する
内部向け ClientConn に grpc.WithNoProxy を使い、意図した transport credentials を維持します。
内部の gRPC サービスに直接到達する必要がある場合、gRPC-Go はその経路向けの接続オプションを提供します:
conn, err := grpc.NewClient(
"dns:///rpc.internal.example:443",
grpc.WithTransportCredentials(transportCredentials),
grpc.WithNoProxy(),
)
grpc のインポートは google.golang.org/grpc です。transportCredentials はアプリケーションが既に持つ credentials.TransportCredentials 設定です。err を処理し、通常のクライアントライフサイクルで conn を閉じてください。
WithNoProxy はこの ClientConn でプロキシの使用を無効にします。他のクライアントやプロセスのプロキシ環境には影響しません。宛先はアプリケーションのネットワークから直接到達できる必要があります。
WithDialer または WithContextDialer が独自の接続経路を提供する場合、このオプションは無視されます。経路の決定はそのダイアラーが担います。上流 API は実験的とされているため、インストール済みの grpc-go バージョンと照合してください。
NewClient はネットワーク接続の成功を証明せずにクライアントチャネルを作成します。後続の RPC または接続状態の結果がその証拠になります。プロキシを回避しても TLS を無効にする必要はありません。