การกู้คืนใบรับรองที่กำหนดเองของบริการรวม
เวอร์ชัน: เพิ่มในเวอร์ชัน 2026.3.0
ตั้งแต่ Tableau Server เวอร์ชัน 2026.3.0 เป็นต้นไป ผู้ดูแลเซิร์ฟเวอร์จะมีตัวเลือกในการแทนที่ใบรับรองที่ลงนามด้วยตนเองที่ใช้โดย Tableau Server ด้วยใบรับรองที่กำหนดเอง หากคุณกำหนดค่า Tableau Server ให้ใช้ใบรับรองที่กำหนดเองและมีปัญหากับบริการรวม (เช่น เนื่องจากใบรับรองหมดอายุ คีย์ไม่ตรงกัน หรือเชนที่ลูกค้าจัดหาให้ไม่ตรวจสอบอีกต่อไป) คุณต้องดำเนินการพิเศษเพื่อแก้ไขปัญหาโดยไม่ต้องติดตั้ง Tableau Server ใหม่และกู้คืนข้อมูลสำรองที่มีอยู่ หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการใช้ใบรับรองที่กำหนดเองสำหรับการสื่อสารบริการภายใน โปรดดูที่การกำหนดค่าใบรับรองที่กำหนดเองภายในสำหรับ Tableau Server
ใช้เครื่องมือ recover-coordination-service-cert ต่อโหนดเพื่อแทนที่ใบรับรอง mTLS ของบริการรวม (ZooKeeper) และเนื้อหาคีย์บนดิสก์โดยตรง คุณต้องใช้ใบรับรอง/คู่คีย์ของเซิร์ฟเวอร์และไคลเอ็นต์เดียวกันกับทุกโหนด
ข้อกำหนดเบื้องต้น
คุณต้องเรียกใช้เครื่องมือบนโหนด Tableau Server ที่มีอยู่เป็น
rootหรือในฐานะผู้ใช้ Tableau ที่ไม่ได้รับสิทธิ์เตรียมใบรับรอง/คู่คีย์ของเซิร์ฟเวอร์หนึ่งรายการและใบรับรอง/คู่คีย์ของไคลเอ็นต์อีกหนึ่งรายการให้พร้อม ระบบรองรับไฟล์เชนและวลีรหัสผ่านเสริมสำหรับคีย์ที่เข้ารหัส
กู้คืนใบรับรองที่กำหนดเอง
หากคุณยังไม่มีใบรับรอง ให้สร้างคู่ที่ลงนามด้วยตนเองใหม่หนึ่งครั้งบนโหนดเดียว และคัดลอกไฟล์ที่เหมือนกันไปยังทุกโหนด คู่ดังกล่าวควรตรงกับคู่ที่ TSM สร้างภายในระบบ (EC P-256, ลงนามด้วยตนเอง, CN=*):
openssl req -x509 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -days 1825 -nodes -subj "/CN=*" -keyout server.key -out server.crtopenssl req -x509 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -days 1825 -nodes -subj "/CN=*" -keyout client.key -out client.crtหากต้องการสร้างคีย์ที่เข้ารหัสด้วยวลีรหัสผ่าน ให้ละเว้น
-nodesOpenSSL จะแจ้งเตือนให้ใส่วลีรหัสผ่าน ซึ่งคุณจะส่งต่อด้วยตัวเลือก--server-passphraseหรือ--client-passphraseที่ตรงกันเรียกใช้เครื่องมือการกู้คืนบนโหนดแรก เริ่มต้นด้วยโหนดที่โฮสต์บริการรวมเพื่อให้ควอรัมสามารถจัดรูปแบบใหม่ได้:
recover-coordination-service-cert --server-cert server.crt --server-key server.key --client-cert client.crt --client-key client.key [--server-chain <file.crt>] [--client-chain <file.crt>] [--server-passphrase <passphrase>] [--client-passphrase <passphrase>]เครื่องมือจะตรวจสอบความถูกต้องของอินพุตล่วงหน้าก่อนที่จะหยุดการทำงานใดๆ: เครื่องมือจะยืนยันว่าใบรับรองแยกวิเคราะห์เป็น X.509 รวมถึงตรวจสอบว่าวลีรหัสผ่านที่ให้มาถอดรหัสคีย์ได้ และใบรับรองแรกในเชนที่ให้มาเป็นผู้ออกใบรับรองของลีฟ จากนั้นจะหยุดบริการในระบบ แพตช์การกำหนดค่าและคีย์สโตร์ของทุกบริการ และรีสตาร์ทเพลนการควบคุม (ZooKeeper ก่อน จากนั้นเป็นเอเจนต์การดูแลระบบ จากนั้นจึงรีสตาร์ทส่วนที่เหลือ)
เรียกใช้คำสั่งเดียวกันในทุกโหนดที่เหลือ โดยใช้ใบรับรองและไฟล์คีย์ที่เหมือนกัน กู้คืนโหนดที่โฮสต์บริการรวมก่อน จากนั้นกู้คืนโหนดที่เหลือ ระบบจะไม่กู้คืนคลัสเตอร์จนกว่าเครื่องมือจะทำงานบนทุกโหนด โหนดใดๆ ที่ยังคงมีคีย์สโตร์เก่าจะไม่รวมเข้าใหม่อีกครั้ง
หมายเหตุ: ในขั้นตอนนี้
tsm statusจะแสดงบริการทางธุรกิจในสถานะข้อผิดพลาด ซึ่งเป็นไปตามคาด เครื่องมือจะแพตช์บริการแต่จะปล่อยให้หยุดทำงาน คำสั่งsetในขั้นตอนถัดไปจะแสดงขึ้นหลังจากทุกโหนดเสร็จสิ้นแล้ว ให้เรียกใช้คำสั่ง
setต่อไปนี้หนึ่งครั้งจากตัวควบคุมหรือโหนดเริ่มต้นเพื่อซิงค์การกำหนดค่าที่คงอยู่ของบริการรวมเข้ากับการกำหนดค่าที่อยู่บนดิสก์ในขณะนี้:tsm security coordination-service-internal-cert set --server-cert server.crt --server-key server.key --client-cert client.crt --client-key client.key [--server-chain <file.crt>] [--client-chain <file.crt>] [--server-passphrase <passphrase>] [--client-passphrase <passphrase>]เครื่องมือการกู้คืนจะพิมพ์คำสั่งนี้ให้คุณ โดยกรอกเส้นทางที่คุณส่งผ่านไว้ล่วงหน้า ซึ่งจะเตือนให้คุณเพิ่มตัวเลือกวลีรหัสผ่านอีกครั้ง แต่จะไม่สะท้อนค่าวลีรหัสผ่านนั้น การลัดวงจรใบรับรองที่เหมือนกันของคำสั่งจะซิงค์การกำหนดค่าและสำรองข้อมูลทั้งคลัสเตอร์ ซึ่งรวมถึงบริการทางธุรกิจที่หยุดทำงานไป โดยล้างสถานะข้อผิดพลาด
การแก้ปัญหา: การเรียกใช้แต่ละครั้งจะเขียนบันทึกที่มีโครงสร้างไปยัง ${TABLEAU_SERVER_DATA_DIR}/logs/app-recover-coordination-service-cert.log
หมายเหตุ: บน Windows Wrapper ที่เทียบเท่า recover-coordination-service-cert.cmd จะใช้ตัวเลือกเดียวกันและทำงานในลักษณะเดียวกัน
