ज़रूरी शर्तें
सर्वर को लागू करने के लिए ज़रूरी जेम:
- google-protobuf (इस ट्यूटोरियल में 3.2.X का इस्तेमाल किया गया है)
- grpc (इस ट्यूटोरियल में इस्तेमाल किया गया 1.2.X)
सेवा की परिभाषा डाउनलोड करें और यह डायरेक्ट्री स्ट्रक्चर बनाएं:
[base_dir]
├── certificates
├── lib
├── protos
└── booking_service.proto
└── server.rb
इंटरफ़ेस की जानकारी से Ruby लाइब्रेरी जनरेट करना:
$ cd [base_dir]
$ grpc_tools_ruby_protoc -I protos --ruby_out=lib --grpc_out=lib protos/booking_service.proto
सर्वर लागू करना
अगर आपको स्केलेटन कोड की ज़रूरत है, तो Google के पीओसी से संपर्क करें.
TLS के बिना सर्वर की जांच करना
शुरुआती टेस्टिंग के लिए, TLS को बंद किया जा सकता है:
$ cd [base_dir]
$ ruby server.rb --disable_tls
यह प्रोडक्शन के लिए सही नहीं है!
प्रोडक्शन सर्टिफ़िकेट कॉन्फ़िगर करना
सर्वर पर TLS चालू करने के लिए, ये फ़ाइलें ज़रूरी हैं:
certificates/server.pem
सर्वर के लिए, PEM फ़ॉर्मैट में सर्टिफ़िकेट चेनcertificates/server.key
सर्वर सर्टिफ़िकेट चेन की निजी कुंजीcertificates/trusted_client_roots.pem
क्लाइंट की पुष्टि करते समय, उन रूट सर्टिफ़िकेट पर भरोसा नहीं किया जाता
क्लाइंट की पुष्टि करते समय, भरोसेमंद क्लाइंट रूट सर्टिफ़िकेट के सेट का इस्तेमाल किया जाता है. आपके पास Mozilla जैसी किसी आधिकारिक संस्था से, भरोसेमंद रूट का यह सेट पाने का विकल्प है. इसके अलावा, Google Internet Authority G2 के सुझाए गए रूट का सेट भी इंस्टॉल किया जा सकता है. दूसरे मामले में, आपको कभी-कभी रूट सर्टिफ़िकेट को मैन्युअल तरीके से अपडेट करना पड़ सकता है.
डायरेक्ट्री का फ़ाइनल स्ट्रक्चर
[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