gRPC-Go: абыход выяўлення проксі з WithNoProxy
Выкарыстоўвайце grpc.WithNoProxy для ўнутранага ClientConn, захоўваючы патрэбныя transport credentials.
Калі да ўнутранай службы gRPC трэба дабрацца напрамую, gRPC-Go прапануе для гэтага шляху адпаведную опцыю злучэння:
conn, err := grpc.NewClient(
"dns:///rpc.internal.example:443",
grpc.WithTransportCredentials(transportCredentials),
grpc.WithNoProxy(),
)
Імпарт grpc — гэта google.golang.org/grpc. transportCredentials — існуючая канфігурацыя credentials.TransportCredentials праграмы. Апрацуйце err і зачыніце conn звычайным жыццёвым цыклам кліента.
WithNoProxy адключае выкарыстанне проксі для гэтага ClientConn. Іншыя кліенты і асяроддзе проксі працэса застаюцца нязменнымі. Прызначэнне павінна быць дасягальным напрамую з сеткі праграмы.
Опцыя ігнаруецца, калі WithDialer або WithContextDialer падае ўласны шлях злучэння; рашэнні аб маршрутызацыі належаць гэтаму dialer. API верхняга ўзроўню пазначаны як эксперыментальны, таму зверцеся з усталяванай версіяй grpc-go.
NewClient стварае кліенцкі канал, не даказваючы, што сеткавае злучэнне ўстанавілася. Наступны RPC або вынік стану злучэння дае гэтыя доказы. Абыход проксі не патрабуе адключэння TLS.