Điều kiện tiên quyết
Các Gem cần có để triển khai máy chủ:
- google-protobuf (3.2.X được sử dụng trong hướng dẫn này)
- grpc (1.2.X được sử dụng trong hướng dẫn này)
Tải định nghĩa dịch vụ xuống rồi tạo cấu trúc thư mục sau:
[base_dir]
├── certificates
├── lib
├── protos
└── booking_service.proto
└── server.rb
Tạo thư viện Ruby từ nội dung mô tả giao diện:
$ cd [base_dir]
$ grpc_tools_ruby_protoc -I protos --ruby_out=lib --grpc_out=lib protos/booking_service.proto
Triển khai máy chủ
Nếu bạn cần mã khung, hãy hỏi một POC của Google.
Kiểm thử máy chủ không có TLS
Để kiểm thử ban đầu, bạn có thể tắt TLS:
$ cd [base_dir]
$ ruby server.rb --disable_tls
Cách này không phù hợp để sử dụng trong phiên bản chính thức!
Định cấu hình chứng chỉ phát hành công khai
Để bật TLS trên máy chủ, bạn cần có các tệp sau:
certificates/server.pem
chuỗi chứng chỉ cho máy chủ ở định dạng PEMcertificates/server.key
khoá riêng tư cho chuỗi chứng chỉ máy chủcertificates/trusted_client_roots.pem
các chứng chỉ gốc được tin cậy khi xác thực ứng dụng
Tập hợp chứng chỉ gốc của ứng dụng đáng tin cậy được dùng khi xác thực khách hàng. Bạn có thể chọn lấy tập hợp các thư mục gốc đáng tin cậy này từ một cơ quan như Mozilla hoặc cài đặt tập hợp các thư mục gốc hiện được Cơ quan Internet của Google (G2) đề xuất. Trong trường hợp thứ hai, bạn có thể phải thường xuyên cập nhật chứng chỉ gốc theo cách thủ công.
Cấu trúc thư mục cuối cùng
[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