Якщо до внутрішньої служби 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.

Схожі статті