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.