Ö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 zinciricertificates/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