To enable TLS on the server, the following files are required:
certificates/server.pem the certificate chain for the server in in PEM
format
certificates/server.key the private key for the server certificate chain
certificates/trusted_client_roots.pem the root certificates that are
trusted when authenticating clients
The set of trusted client root certificates is used when authenticating the
client. You can choose to obtain this set of trusted roots from an authority
like Mozilla or install the set of
roots currently recommended by the Google Internet Authority
G2. In the latter case, you may have to
manually update the root certificate at times.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-20 UTC."],[[["This guide outlines the necessary steps to set up a Ruby-based gRPC server, including the required gems: `google-protobuf` and `grpc`."],["You'll need to download the service definition file (`booking_service.proto`) and organize it within a specific directory structure that includes `certificates`, `lib`, `protos`, and `server.rb`."],["Generating the necessary Ruby libraries from the service definition file using the `grpc_tools_ruby_protoc` command is required to implement the server."],["The server can be initially tested without TLS using the command `ruby server.rb --disable_tls`, but this is not recommended for production environments."],["Enabling TLS in production requires configuring the server with `server.pem`, `server.key`, and `trusted_client_roots.pem` files within the `certificates` directory, to ensure secure communication."]]],["The implementation requires the `google-protobuf` and `grpc` gems. Download the service definition, create the specified directory structure, and generate Ruby libraries using `grpc_tools_ruby_protoc`. TLS can be initially disabled using `--disable_tls` for testing. Production requires `server.pem`, `server.key`, and `trusted_client_roots.pem` within the certificates directory for TLS. The `trusted_client_roots.pem` may come from an authority like Mozilla or Google Internet Authority G2.\n"]]