gRPC-Go: omgå oppdagelsen av proxy med WithNoProxy
Bruk grpc.WithNoProxy for en intern ClientConn og ta vare på de transport credentials som er tenkt.
Dersom en intern gRPC-tjeneste skal nås direkte, gir gRPC-Go et alternativ for tilkobling på den ruten:
conn, err := grpc.NewClient(
"dns:///rpc.internal.example:443",
grpc.WithTransportCredentials(transportCredentials),
grpc.WithNoProxy(),
)
grpc-importen er google.golang.org/grpc. transportCredentials er applikasjonens eksisterende oppsett av credentials.TransportCredentials. Håndter err og lukk conn gjennom den vanlige livssyklusen til klienten.
WithNoProxy slår av bruk av proxy for denne ClientConn. Andre klienter og prosessens proxy-miljø blir stående uendret. Målet må kunne nås direkte fra nettverket til applikasjonen.
Alternativet blir ignorert når WithDialer eller WithContextDialer gir en egen tilkoblingsvei; den dialeren bestemmer selv over rutingen. API-et oppstrøms er merket som eksperimentelt, så sjekk det mot grpc-go-versjonen som er installert.
NewClient lager en klientkanal uten å bevise at en nettverkstilkobling har lykkes. Det påfølgende RPC-et eller resultatet av tilkoblingstilstanden gir beviset. Å omgå en proxy krever ikke at TLS slås av.