אם יש להגיע ישירות לשירות 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.

מאמרים קשורים