Se for necessário alcançar diretamente um serviço gRPC interno, o gRPC-Go oferece uma opção de conexão para essa rota:

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

A importação grpc é google.golang.org/grpc. transportCredentials é a configuração credentials.TransportCredentials existente da aplicação. Trate err e feche conn através do ciclo de vida normal do cliente.

WithNoProxy desativa o uso de proxy para este ClientConn. Deixa os outros clientes e o ambiente de proxy do processo inalterados. O destino tem de ser acessível diretamente a partir da rede da aplicação.

A opção é ignorada quando WithDialer ou WithContextDialer fornecem um caminho de conexão personalizado; esse dialer decide o seu próprio encaminhamento. A API de upstream está marcada como experimental, por isso verifique-a face à versão do grpc-go instalada.

NewClient cria um canal de cliente sem provar que uma conexão de rede foi estabelecida. O RPC seguinte ou o resultado do estado da conexão fornecem essa prova. Ignorar um proxy não exige desativar o TLS.

Artigos relacionados