gRPC-Go: proxy-detectie omzeilen met WithNoProxy
Gebruik grpc.WithNoProxy voor een interne ClientConn en behoud de bedoelde transport credentials.
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.