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.

Powiązane artykuły