דרישות מוקדמות
חבילות ה-Gem הנדרשות להטמעה בשרת:
- google-protobuf (גרסה 3.2.X שנעשה בה שימוש במדריך הזה)
- grpc (גרסה 1.2.X משמשת במדריך הזה)
מורידים את הגדרת השירות ויוצרים את מבנה הספריות הבא:
[base_dir]
├── certificates
├── lib
├── protos
└── booking_service.proto
└── server.rb
יצירת ספריות Ruby מתיאורי הממשק:
$ cd [base_dir]
$ grpc_tools_ruby_protoc -I protos --ruby_out=lib --grpc_out=lib protos/booking_service.proto
הטמעת השרת
אם אתם זקוקים לקוד השלד, תוכלו לבקש אותו מנציג Google.
בדיקת השרת ללא TLS
לבדיקה ראשונית, אפשר להשבית את TLS:
$ cd [base_dir]
$ ruby server.rb --disable_tls
הפתרון הזה לא מתאים לשימוש בסביבת ייצור!
הגדרת אישורי ייצור
כדי להפעיל את TLS בשרת, נדרשים הקבצים הבאים:
certificates/server.pem
שרשרת האישורים של השרת בפורמט PEMcertificates/server.key
המפתח הפרטי של שרשרת האישורים של השרתcertificates/trusted_client_roots.pem
אישורי הבסיס שנחשבים מהימנים במהלך אימות לקוחות
קבוצת אישורי הבסיס המהימנים של הלקוח משמשת לאימות הלקוח. אפשר לקבל את קבוצת הרשומות הבסיסיות המהימנה הזו מסמכות כמו Mozilla, או להתקין את קבוצת הרשומות הבסיסיות המומלצת כרגע על ידי Google Internet Authority G2. במקרה השני, יכול להיות שתצטרכו לעדכן את אישור הבסיס באופן ידני מדי פעם.
מבנה הספרייה הסופי
[base_dir]
├── certificates
├── server.pem
├── server.key
└── trusted_client_roots.pem
├── lib
├── booking_service_pb.rb
└── booking_service_services_pb.rb
├── protos
└── booking_service.proto
└── server.rb