Ruby 適用的伺服器架構

必要條件

伺服器實作作業所需的寶石:

  • 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