gRPC-Go: tarpinio serverio aptikimo apėjimas naudojant WithNoProxy
Naudokite grpc.WithNoProxy vidiniam ClientConn, išsaugodami numatytą transport credentials konfigūraciją.
Jei į vidinę gRPC paslaugą reikia patekti tiesiogiai, gRPC-Go siūlo šiam maršrutui ryšio parinktį:
conn, err := grpc.NewClient(
"dns:///rpc.internal.example:443",
grpc.WithTransportCredentials(transportCredentials),
grpc.WithNoProxy(),
)
grpc importas yra google.golang.org/grpc. transportCredentials yra esama programos credentials.TransportCredentials konfigūracija. Apdorokite err ir uždarykite conn įprastu kliento gyvavimo ciklu.
WithNoProxy išjungia tarpinio serverio naudojimą šiam ClientConn. Jis palieka kitus klientus ir proceso tarpinio serverio aplinką nepakeistus. Paskirties vieta turi būti pasiekiama tiesiogiai iš programos tinklo.
Parinktis ignoruojama, kai WithDialer arba WithContextDialer pateikia pasirinktą ryšio kelią; maršrutizavimo sprendimus priima tas dialer. Viršutinio lygio API pažymėta kaip eksperimentinė, todėl patikrinkite ją pagal įdiegtą grpc-go versiją.
NewClient sukuria kliento kanalą neįrodydamas, kad tinklo ryšys pavyko. Tolesnis RPC arba ryšio būsenos rezultatas pateikia tą įrodymą. Apėjus tarpinį serverį nereikia išjungti TLS.