Kerangka server untuk Ruby

Prasyarat

Gem yang diperlukan untuk penerapan server:

  • google-protobuf (3.2.X digunakan dalam tutorial ini)
  • grpc (1.2.X digunakan dalam tutorial ini)

Download definisi layanan dan buat struktur direktori ini:

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

Buat library Ruby dari deskripsi antarmuka:

$ cd [base_dir]
$ grpc_tools_ruby_protoc -I protos --ruby_out=lib --grpc_out=lib protos/booking_service.proto

Mengimplementasikan server

Jika Anda memerlukan kode kerangka, hubungi POC Google.

Menguji server tanpa TLS

Untuk pengujian awal, TLS dapat dinonaktifkan:

$ cd [base_dir]
$ ruby server.rb --disable_tls

Hal ini tidak sesuai untuk penggunaan produksi.

Mengonfigurasi sertifikat produksi

Untuk mengaktifkan TLS di server, file berikut diperlukan:

  • certificates/server.pem rantai sertifikat untuk server dalam format PEM
  • certificates/server.key kunci pribadi untuk rantai sertifikat server
  • certificates/trusted_client_roots.pem root certificate yang dipercaya saat mengautentikasi klien

Kumpulan root certificate klien tepercaya digunakan saat mengautentikasi klien. Anda dapat memilih untuk mendapatkan kumpulan root tepercaya ini dari otoritas seperti Mozilla atau menginstal kumpulan root yang saat ini direkomendasikan oleh Google Internet Authority G2. Dalam kasus terakhir, Anda mungkin harus memperbarui sertifikat root secara manual.

Struktur direktori akhir

[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