اسکلت سرور برای روبی

پیش نیازها

سنگهای مورد نیاز برای اجرای سرور:

  • 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 POC بپرسید.

سرور را بدون TLS تست کنید

برای آزمایش اولیه، TLS را می توان غیرفعال کرد:

$ cd [base_dir]
$ ruby server.rb --disable_tls

این برای استفاده در تولید نامناسب است!

پیکربندی گواهی های تولید

برای فعال کردن TLS در سرور، فایل های زیر مورد نیاز است:

  • certificates/server.pem زنجیره گواهی سرور در قالب PEM
  • certificates/server.key کلید خصوصی برای زنجیره گواهی سرور
  • certificates/trusted_client_roots.pem گواهی‌های ریشه‌ای که هنگام احراز هویت مشتریان قابل اعتماد هستند

هنگام احراز هویت مشتری از مجموعه گواهی های ریشه مشتری قابل اعتماد استفاده می شود. می‌توانید این مجموعه از ریشه‌های قابل اعتماد را از مرجعی مانند موزیلا دریافت کنید یا مجموعه ریشه‌هایی را که در حال حاضر توسط 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