Prérequis
Gemmes requises pour l'implémentation du serveur:
- google-protobuf (3.2.X utilisé dans ce tutoriel)
- grpc (1.2.X utilisé dans ce tutoriel)
Téléchargez la définition du service et créez cette structure de répertoires:
[base_dir]
├── certificates
├── lib
├── protos
└── booking_service.proto
└── server.rb
Générez des bibliothèques Ruby à partir de la description de l'interface:
$ cd [base_dir]
$ grpc_tools_ruby_protoc -I protos --ruby_out=lib --grpc_out=lib protos/booking_service.proto
Implémenter le serveur
Si vous avez besoin du code squelette, demandez-le à un contact Google.
Tester le serveur sans TLS
Pour les tests initiaux, TLS peut être désactivé:
$ cd [base_dir]
$ ruby server.rb --disable_tls
Cette méthode n'est pas adaptée à une utilisation en production.
Configurer des certificats de production
Pour activer TLS sur le serveur, les fichiers suivants sont requis:
certificates/server.pem
: chaîne de certificats du serveur au format PEMcertificates/server.key
: clé privée de la chaîne de certificats du serveurcertificates/trusted_client_roots.pem
: les certificats racine approuvés lors de l'authentification des clients
L'ensemble des certificats racines client approuvés est utilisé lors de l'authentification du client. Vous pouvez choisir d'obtenir cet ensemble de racines approuvées auprès d'une autorité telle que Mozilla ou d'installer l'ensemble de racines actuellement recommandé par l'autorité Internet Google G2. Dans ce dernier cas, vous devrez peut-être mettre à jour manuellement le certificat racine de temps en temps.
Structure de répertoire finale
[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