Ако до вътрешна 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.

Подобни статии