必要條件
伺服器實作作業所需的 Gems:
- 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 網際網路權威機構 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