gRPC-Go: ข้ามการค้นหา proxy ด้วย 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 ปิดการใช้ proxy สำหรับ ClientConn นี้ โดยปล่อยไคลเอนต์อื่นและสภาพแวดล้อม proxy ของโปรเซสไว้ไม่เปลี่ยนแปลง ปลายทางต้องเข้าถึงได้โดยตรงจากเครือข่ายของแอป
ตัวเลือกนี้จะถูกละเว้นเมื่อ WithDialer หรือ WithContextDialer จัดเตรียมเส้นทางการเชื่อมต่อแบบกำหนดเอง ซึ่ง dialer นั้นเป็นผู้ตัดสินใจเรื่องเส้นทาง API ต้นทางถูกทำเครื่องหมายว่าทดลอง ดังนั้นตรวจสอบกับเวอร์ชัน grpc-go ที่ติดตั้งไว้
NewClient สร้างช่องทางไคลเอนต์โดยไม่ได้พิสูจน์ว่าการเชื่อมต่อเครือข่ายสำเร็จ ผลลัพธ์ของ RPC ถัดไปหรือสถานะการเชื่อมต่อจะเป็นหลักฐานนั้น การข้าม proxy ไม่จำเป็นต้องปิด TLS