هيكل الخادم لـ Ruby

المتطلبات الأساسية

الجواهر المطلوبة لتنفيذ الخادم:

  • ‫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