שלד שרת ל-Ruby

דרישות מוקדמות

חבילות ה-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 שרשרת האישורים של השרת בפורמט PEM
  • certificates/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