پیش نیازها
سنگهای مورد نیاز برای اجرای سرور:
- 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