Als een interne gRPC-dienst rechtstreeks bereikbaar moet zijn, biedt gRPC-Go een verbindingsoptie voor die route:

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

De grpc-import is google.golang.org/grpc. transportCredentials is de bestaande credentials.TransportCredentials-configuratie van de applicatie. Behandel err en sluit conn via de normale levenscyclus van de client.

WithNoProxy schakelt proxygebruik voor deze ClientConn uit. Het laat andere clients en de proxy-omgeving van het proces ongewijzigd. De bestemming moet rechtstreeks bereikbaar zijn vanuit het netwerk van de applicatie.

De optie wordt genegeerd wanneer WithDialer of WithContextDialer een aangepast verbindingspad levert; die dialer bepaalt zijn eigen routering. De upstream-API is als experimenteel gemarkeerd, dus controleer deze tegen de geïnstalleerde grpc-go-versie.

NewClient maakt een clientkanaal zonder te bewijzen dat een netwerkverbinding tot stand is gekomen. Het volgende RPC- of verbindingsstatusresultaat levert dat bewijs. Een proxy omzeilen vereist niet dat TLS wordt uitgeschakeld.

Gerelateerde artikelen