Se un servizio gRPC interno deve essere raggiunto direttamente, gRPC-Go fornisce un'opzione di connessione per quel percorso:

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

L'import grpc è google.golang.org/grpc. transportCredentials è la configurazione credentials.TransportCredentials già esistente dell'applicazione. Gestisci err e chiudi conn tramite il normale ciclo di vita del client.

WithNoProxy disattiva l'uso del proxy per questo ClientConn. Lascia invariati gli altri client e l'ambiente proxy del processo. La destinazione deve essere raggiungibile direttamente dalla rete dell'applicazione.

L'opzione viene ignorata quando WithDialer o WithContextDialer forniscono un percorso di connessione personalizzato; quel dialer decide il proprio instradamento. L'API upstream è contrassegnata come sperimentale, quindi verificala rispetto alla versione grpc-go installata.

NewClient crea un canale client senza dimostrare che una connessione di rete sia riuscita. Il successivo RPC o il risultato dello stato di connessione fornisce quella prova. Aggirare un proxy non richiede di disattivare TLS.

Articoli correlati