রুবির জন্য সার্ভার কঙ্কাল

পূর্বশর্ত

সার্ভার বাস্তবায়নের জন্য প্রয়োজনীয় রত্ন:

  • google-protobuf (এই টিউটোরিয়ালে ব্যবহৃত 3.2.X)
  • grpc (এই টিউটোরিয়ালে ব্যবহৃত 1.2.X)

পরিষেবা সংজ্ঞা ডাউনলোড করুন এবং এই ডিরেক্টরি কাঠামো তৈরি করুন:

[base_dir]
├── certificates
├── lib
├── protos
    └── booking_service.proto
└── server.rb

ইন্টারফেস বিবরণ থেকে রুবি লাইব্রেরি তৈরি করুন:

$ 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 রুট সার্টিফিকেট যা ক্লায়েন্টদের প্রমাণীকরণ করার সময় বিশ্বস্ত হয়

ক্লায়েন্টকে প্রমাণীকরণ করার সময় বিশ্বস্ত ক্লায়েন্ট রুট শংসাপত্রের সেট ব্যবহার করা হয়। আপনি Mozilla এর মতো একটি কর্তৃপক্ষের কাছ থেকে বিশ্বস্ত রুটগুলির এই সেটটি পেতে বা Google ইন্টারনেট কর্তৃপক্ষ 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