gRPC-Go: WithNoProxy দিয়ে প্রক্সি ডিসকভারি এড়িয়ে যাওয়া
একটি অভ্যন্তরীণ ClientConn-এর জন্য grpc.WithNoProxy ব্যবহার করুন এবং কাঙ্ক্ষিত 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 কাস্টম সংযোগ পথ দিলে এই বিকল্পটি উপেক্ষা করা হয়; সেই ডায়ালারই তার রাউটিং সিদ্ধান্তের মালিক। আপস্ট্রিম API-টি পরীক্ষামূলক হিসেবে চিহ্নিত, তাই ইনস্টল করা grpc-go সংস্করণের সাথে মিলিয়ে দেখুন।
NewClient নেটওয়ার্ক সংযোগ সফল হয়েছে এমন প্রমাণ ছাড়াই একটি ক্লায়েন্ট চ্যানেল তৈরি করে। পরবর্তী RPC বা সংযোগ-অবস্থার ফলাফল সেই প্রমাণ দেয়। প্রক্সি এড়িয়ে যেতে TLS নিষ্ক্রিয় করার দরকার নেই।