ข้อกำหนดเบื้องต้น
Gem ที่จําเป็นสําหรับการติดตั้งใช้งานเซิร์ฟเวอร์
- 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
เชนใบรับรองของเซิร์ฟเวอร์ในรูปแบบ PEMcertificates/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