gRPC-Go: bỏ qua việc phát hiện proxy với WithNoProxy
Dùng grpc.WithNoProxy cho ClientConn nội bộ trong khi vẫn giữ transport credentials như mong muốn.
Nếu cần truy cập trực tiếp một dịch vụ gRPC nội bộ, gRPC-Go cung cấp một tùy chọn kết nối cho tuyến đó:
conn, err := grpc.NewClient(
"dns:///rpc.internal.example:443",
grpc.WithTransportCredentials(transportCredentials),
grpc.WithNoProxy(),
)
Import grpc là google.golang.org/grpc. transportCredentials là cấu hình credentials.TransportCredentials hiện có của ứng dụng. Xử lý err và đóng conn theo vòng đời thông thường của client.
WithNoProxy tắt việc dùng proxy cho ClientConn này. Nó giữ nguyên các client khác và môi trường proxy của tiến trình. Đích phải truy cập được trực tiếp từ mạng của ứng dụng.
Tùy chọn bị bỏ qua khi WithDialer hoặc WithContextDialer cung cấp đường kết nối tùy chỉnh; dialer đó quyết định việc định tuyến. API thượng nguồn được đánh dấu là thử nghiệm, nên hãy kiểm tra với phiên bản grpc-go đã cài.
NewClient tạo kênh client mà không chứng minh rằng kết nối mạng đã thành công. RPC tiếp theo hoặc kết quả trạng thái kết nối cung cấp bằng chứng đó. Bỏ qua proxy không đòi hỏi phải tắt TLS.