Si se debe acceder directamente a un servicio gRPC interno, gRPC-Go ofrece una opción de conexión para esa ruta:

conn, err := grpc.NewClient(
    "dns:///rpc.internal.example:443",
    grpc.WithTransportCredentials(transportCredentials),
    grpc.WithNoProxy(),
)

La importación grpc es google.golang.org/grpc. transportCredentials es la configuración credentials.TransportCredentials existente de la aplicación. Gestione err y cierre conn mediante el ciclo de vida normal del cliente.

WithNoProxy desactiva el uso de proxy para este ClientConn. Deja intactos los demás clientes y el entorno de proxy del proceso. El destino debe ser accesible directamente desde la red de la aplicación.

La opción se ignora cuando WithDialer o WithContextDialer proporcionan una ruta de conexión personalizada; ese dialer toma sus propias decisiones de enrutamiento. La API upstream está marcada como experimental, así que compruébela con la versión de grpc-go instalada.

NewClient crea un canal de cliente sin demostrar que se haya establecido una conexión de red. El RPC posterior o el resultado del estado de conexión aportan esa prueba. Omitir un proxy no exige desactivar TLS.

Artículos relacionados