Se hai que chegar directamente a un servizo gRPC interno, gRPC-Go ofrece unha opción de conexión para esa ruta:

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

A importación grpc é google.golang.org/grpc. transportCredentials é a configuración credentials.TransportCredentials existente da aplicación. Xestione err e peche conn mediante o ciclo de vida normal do cliente.

WithNoProxy desactiva o uso de proxy para este ClientConn. Deixa os demais clientes e a contorna de proxy do proceso sen cambios. O destino debe ser accesible directamente desde a rede da aplicación.

A opción ignórase cando WithDialer ou WithContextDialer fornecen unha ruta de conexión personalizada; ese dialer decide o seu encamiñamento. A API de upstream está marcada como experimental, así que compróbea coa versión de grpc-go instalada.

NewClient crea unha canle de cliente sen demostrar que se estableceu unha conexión de rede. O RPC posterior ou o resultado do estado de conexión achega esa proba. Evitar un proxy non require desactivar TLS.

Artigos relacionados