ดังนั้นฉันจึงมีชุดจำลอง mongoDB (3.0.x) ที่โฮสต์กับผู้ให้บริการคลาวด์ชื่อ "NodeChef"
ตามความรู้ของฉันและการค้นหาเอกสารประกอบ ฉันไม่สามารถเข้าถึงโฮสต์พื้นฐานได้เลย
ฉันต้องการเพิ่มโฮสต์ที่ฉันจัดการเองทั้งหมดให้กับชุดเรพลิกาดังกล่าว ฉันได้ติดต่อฝ่ายสนับสนุนของ NodeChef แล้วและขอ "ชุดข้อมูลประจำตัวทั้งหมด" ที่จำเป็นสำหรับการดำเนินการนี้ พวกเขาตอบว่าฉันควรมีทุกอย่างที่จำเป็นแล้ว และพวกเขารู้ว่ามีลูกค้าที่ใช้การกำหนดค่าดังกล่าว
ตอนนี้ โซลูชันนี้จะใช้ได้กับการพิสูจน์ตัวตน X.509 แต่ฉันจะชำระด้วย storageKey (SCRAM-SHA1) หากง่ายกว่านี้
ปัญหาในกรณี X.509: สำหรับทั้งหมดที่ฉันรู้ฉันจะต้องมีใบรับรอง (คีย์ส่วนตัว) ซึ่งตรงกับใบรับรองในโฮสต์ที่มีอยู่ทั้งใน O's และลงนาม CA ฉันสามารถดาวน์โหลดไฟล์พับลิกคีย์สำหรับ CA ได้ ดังนั้นฉันจึงรู้ว่านี่คือ LetsEncrypt การเชื่อมต่อกับคลัสเตอร์โดยใช้ openssl s_client แทนไคลเอนต์ mongo ทำให้ฉันได้รับสิ่งต่อไปนี้:
เรื่อง=/CN=*.nodechef.com ผู้ออก=/C=US/O=เข้ารหัสกันเถอะ/CN=R3
--- ชื่อ CA ของใบรับรองไคลเอ็นต์ที่ยอมรับได้ /O=Digital Signature Trust Co./CN=DST Root CA X3 /C=US/O=Internet Security Research Group/CN=ISRG
รูท X1 /C=US/O=มาเข้ารหัสกันเถอะ/CN=R3
ฉันคิดว่าฉันสามารถสร้างคำขอลงนามสำหรับสิ่งนั้นได้ แต่ฉันมองไม่เห็นวิธีที่จะลงนามโดยหน่วยงานที่เหมาะสม
ปัญหาในกรณีของคีย์ไฟล์: ฉันไม่รู้ว่าจะรับความลับที่ใช้ร่วมกันซึ่งจำเป็นต้องเข้าไปในไฟล์คีย์ได้จากที่ใด แม้ว่าตัวแทนฝ่ายสนับสนุนจะบอกว่าฉันสามารถเข้าถึงความลับทั้งหมดที่จำเป็นได้
ฉันได้เพิ่มโฮสต์ใหม่ใน replicaSet ตามเอกสารนี้: https://docs.mongodb.com/v3.0/reference/method/rs.add/
ข้อความแสดงข้อผิดพลาดที่ฉันได้รับในกรณีของ storageKey คือ:
ฉันเข้าถึง [conn2119] การตรวจสอบสิทธิ์ SCRAM-SHA-1 ล้มเหลวสำหรับ __system บนเครื่องจากไคลเอนต์ 95.179.166.84 ; การรับรองความถูกต้อง SCRAM-SHA-1 ล้มเหลว คีย์ที่เก็บไว้ไม่ตรงกัน
rs กำลังเรียกใช้ mongoDB 3.0.xโฮสต์ใหม่ทำงานในอิมเมจนักเทียบท่าของ mongo:3.0.x บนอินสแตนซ์ aws ec2
จะขอบคุณสำหรับคำแนะนำใด ๆ