gRPC-Go: omijanie wykrywania serwera proxy za pomocą WithNoProxy
Użyj grpc.WithNoProxy dla wewnętrznego ClientConn, zachowując zamierzone transport credentials.
Jeśli do wewnętrznej usługi gRPC trzeba dotrzeć bezpośrednio, gRPC-Go udostępnia opcję połączenia dla tej trasy:
conn, err := grpc.NewClient(
"dns:///rpc.internal.example:443",
grpc.WithTransportCredentials(transportCredentials),
grpc.WithNoProxy(),
)
Import grpc to google.golang.org/grpc. transportCredentials to istniejąca konfiguracja credentials.TransportCredentials aplikacji. Obsłuż err i zamknij conn w normalnym cyklu życia klienta.
WithNoProxy wyłącza korzystanie z serwera proxy dla tego ClientConn. Pozostawia inne klienty i środowisko proxy procesu bez zmian. Miejsce docelowe musi być osiągalne bezpośrednio z sieci aplikacji.
Opcja jest ignorowana, gdy WithDialer lub WithContextDialer zapewnia własną ścieżkę połączenia; decyzje o trasowaniu należą do tego dialera. Interfejs API wyższego poziomu jest oznaczony jako eksperymentalny, więc sprawdź go w odniesieniu do zainstalowanej wersji grpc-go.
NewClient tworzy kanał klienta bez dowodu, że połączenie sieciowe się powiodło. Kolejne RPC lub wynik stanu połączenia dostarcza tego dowodu. Omijanie serwera proxy nie wymaga wyłączenia TLS.