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.