Ruby için sunucu iskeleti

Ön koşullar

Sunucu uygulaması için gereken Gem'ler:

  • google-protobuf (bu eğiticide 3.2.X sürümü kullanılmıştır)
  • grpc (bu eğitimde 1.2.X sürümü kullanılmıştır)

Hizmet tanımını indirin ve aşağıdaki dizin yapısını oluşturun:

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

Arayüz açıklamasından Ruby kitaplıkları oluşturun:

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

Sunucuyu uygulama

İskelet koda ihtiyacınız varsa bir Google iletişim noktasından isteyin.

Sunucuyu TLS olmadan test etme

İlk test için TLS devre dışı bırakılabilir:

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

Bu, üretimde kullanılmaya uygun değildir.

Üretim sertifikalarını yapılandırma

Sunucuda TLS'yi etkinleştirmek için aşağıdaki dosyalar gereklidir:

  • certificates/server.pem PEM biçiminde sunucunun sertifika zinciri
  • certificates/server.key sunucu sertifika zincirinin özel anahtarı
  • certificates/trusted_client_roots.pem istemcilerin kimliği doğrulanırken güvenilen kök sertifikalar

İstemcinin kimliği doğrulanırken güvenilir istemci kök sertifikaları grubu kullanılır. Bu güvenilir kök serisini Mozilla gibi bir yetkiliden almayı veya Google İnternet Kurumu G2 tarafından şu anda önerilen kök serisini yüklemeyi seçebilirsiniz. İkinci durumda, zaman zaman kök sertifikayı manuel olarak güncellemeniz gerekebilir.

Nihai dizin yapısı

[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