Wymagania wstępne
Gemy wymagane do implementacji po stronie serwera:
- google-protobuf (w tym samouczku używana wersja 3.2.X)
- grpc (w tym samouczku używana jest wersja 1.2.X)
Pobierz definicję usługi i utwórz tę strukturę katalogów:
[base_dir]
├── certificates
├── lib
├── protos
└── booking_service.proto
└── server.rb
Generowanie bibliotek Ruby na podstawie opisu interfejsu:
$ cd [base_dir]
$ grpc_tools_ruby_protoc -I protos --ruby_out=lib --grpc_out=lib protos/booking_service.proto
Wdrażanie serwera
Jeśli potrzebujesz kodu szkieletu, poproś o pomoc osobę kontaktową ds. współpracy z Google.
Testowanie serwera bez TLS
Na potrzeby wstępnego testowania można wyłączyć TLS:
$ cd [base_dir]
$ ruby server.rb --disable_tls
Nie nadaje się do użytku produkcyjnego.
Konfigurowanie certyfikatów produkcyjnych
Aby włączyć TLS na serwerze, wymagane są te pliki:
certificates/server.pem
łańcuch certyfikatów serwera w formacie PEMcertificates/server.key
klucz prywatny łańcucha certyfikatów serwera.certificates/trusted_client_roots.pem
certyfikaty główne, które są zaufane podczas uwierzytelniania klientów
Zestaw zaufanych certyfikatów głównych klienta jest używany podczas uwierzytelniania klienta. Możesz pobrać ten zestaw zaufanych źródeł od urzędu certyfikacji, takiego jak Mozilla, lub zainstalować zbiór źródeł zalecany obecnie przez Google Internet Authority G2. W tym drugim przypadku czasami konieczne może być ręczne aktualizowanie certyfikatu głównego.
Ostateczna struktura katalogów
[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