Skip to main content

วิธีการอัปเดตใบรับรอง

clmBot รองรับวิธีการอัปเดตใบรับรองสองแบบ ซึ่งสามารถเลือกได้ตามสภาพแวดล้อมเครือข่ายของเซิร์ฟเวอร์:

วิธีการอัปเดตโหมดการทำงานข้อกำหนดพอร์ตสถานการณ์ที่เหมาะสม
การพุชจากคลาวด์ผู้ดูแลระบบส่งคำสั่งพุชจาก后台 ส่วนเซิร์ฟเวอร์ clmBot รับและอัปเดตต้องเปิดพอร์ตขาเข้า 8862/tcpนโยบายเครือข่ายอนุญาต และต้องการให้การอัปเดตมีผลทันที
การดึงตามเวลาclmBot ตรวจสอบจากคลาวด์ตามเวลาที่กำหนดว่ามีใบรับรองใหม่หรือไม่และอัปเดตอัตโนมัติไม่ต้องเปิดพอร์ตขาเข้าเซิร์ฟเวอร์ที่ไม่สามารถเปิดพอร์ตขาเข้าได้ (แนะนำเป็นวิธีเริ่มต้น)

ทั้งสองวิธีไม่ขัดแย้งกัน ในกลุ่มเซิร์ฟเวอร์ชุดเดียวกันสามารถใช้การพุชบางส่วนและใช้การดึงตามเวลาบางส่วนได้

วิธีที่ 1: การพุชจากคลาวด์

เริ่มเซิร์ฟเวอร์ clmBot บนเซิร์ฟเวอร์

./clm-bot-linux-amd64 server -a="0.0.0.0:8862"

-a ระบุที่อยู่การรับฟังและพอร์ต ค่าเริ่มต้นคือ 0.0.0.0:8862 หลังจากเริ่มต้น clmBot จะทำงานเป็นเซิร์ฟเวอร์อย่างต่อเนื่องเพื่อรอการพุชจากคลาวด์

หมายเหตุ
  • จำเป็นต้องเปิดพอร์ตขาเข้า 8862/tcp ในไฟร์วอลล์ของเซิร์ฟเวอร์และกลุ่มความปลอดภัยของคลาวด์
  • ฝั่งเซิร์ฟเวอร์ clmBot เปิดใช้งานการยืนยันตัวตนแบบ TLS สองทางสำหรับการเชื่อมต่อพุชจากคลาวด์ และยอมรับเฉพาะใบรับรองการพุชของโหนดที่ผ่านการเปิดใช้งานและเชื่อมต่อแล้วเท่านั้น

หากไม่ต้องการเปิดพอร์ตขาเข้า โปรดใช้ วิธีที่สอง: การดึงข้อมูลตามเวลา

ข้อมูล

ฝั่งเซิร์ฟเวอร์ clmBot ต้องทำงานอยู่ตลอดเวลาเพื่อรับการพุช สำหรับสภาพแวดล้อมการใช้งานจริง แนะนำให้ลงทะเบียนเป็นบริการระบบและตั้งค่าให้เริ่มอัตโนมัติเมื่อเปิดเครื่อง ดู การติดตั้งเป็นบริการและการอัปเกรด

พุชใบรับรองในหน้าผู้ดูแลระบบ

เข้าสู่ระบบหน้าผู้ดูแลระบบ ไปที่รายการจุดติดตั้ง ค้นหาจุดติดตั้งเป้าหมายแล้วคลิก พุชใบรับรอง หลังจากยืนยัน ระบบจะพุชใบรับรองล่าสุดไปยังเซิร์ฟเวอร์และอัปเดตให้เสร็จสมบูรณ์โดยอัตโนมัติ

วิธีที่สอง: การดึงข้อมูลตามเวลา

โหมดการดึงข้อมูลตามเวลาไม่จำเป็นต้องเปิดพอร์ตขาเข้า โดย clmBot จะตรวจสอบการอัปเดตตามเวลาที่กำหนด ซึ่งเป็นวิธีเริ่มต้นที่แนะนำ

Linux: กำหนดค่า crontab

เพิ่มคำสั่งอัปเดต clmBot ลงใน crontab:

crontab -e

เพิ่มหนึ่งบรรทัด (ตรวจสอบการอัปเดตใบรับรองทุกวันเวลา 03.00 น.):

0 3 * * * cd /opt/clm-bot && ./clm-bot-linux-amd64 update-certificate >> update.log 2>&1
หมายเหตุ
  • ในคำสั่งต้อง cd ไปยังไดเรกทอรีติดตั้งของ clmBot ก่อนจึงจะดำเนินการได้ เนื่องจาก clmBot จะอ่าน config.yaml จากไดเรกทอรีปัจจุบันตามค่าเริ่มต้น
  • หรือไม่ต้องสลับไดเรกทอรี โดยระบุพาธไฟล์คอนฟิกผ่านพารามิเตอร์ -c: ./clm-bot-linux-amd64 -c /opt/clm-bot/config.yaml update-certificate
  • โปรดแทนที่พาธด้วยไดเรกทอรีติดตั้งจริง

ผลลัพธ์การทำงานจะถูกผนวกเข้ากับ update.log พร้อมกันนั้น clmBot จะบันทึกล็อกการทำงานไว้ใน logs/clm-bot.log ภายในไดเรกทอรีที่มีไฟล์คอนฟิกอยู่

Windows: กำหนดค่า Scheduled Task

สร้าง Scheduled Task บนเซิร์ฟเวอร์ Windows เพื่อทำงานตามเวลาที่กำหนด:

cd /d C:\clm-bot && clm-bot-windows-amd64.exe update-certificate >> update.log 2>&1

หลังจากสร้างเสร็จแล้ว คุณสามารถคลิกขวาที่งานแล้วเลือกเรียกใช้เพื่อตรวจสอบ จากนั้นดูบันทึกในไดเรกทอรีติดตั้งเพื่อยืนยันผลการทำงาน

การต่ออายุและอัปเดตใบรับรองอัตโนมัติ

ใบรับรองที่ clmBot อัปเดตมาจากการต่ออายุอัตโนมัติบนคลาวด์ เข้าสู่ระบบหลังบ้านจัดการ ไปที่หน้ารายละเอียดใบรับรอง SSL ในการตั้งค่าการต่ออายุอัตโนมัติ ให้เลือกหรือป้อนรอบการต่ออายุ (เช่น 30 วัน) แล้วบันทึก

ภาพรวมหลังการตั้งค่า:

  1. ก่อนใบรับรองหมดอายุ ระบบคลาวด์จะต่ออายุอัตโนมัติตามรอบที่กำหนดและสร้างใบรับรองใหม่
  2. clmBot จะรับใบรับรองใหม่ตามวิธีที่กำหนดค่าไว้ (แบบพุชหรือดึงตามเวลา)
  3. clmBot ดำเนินการอัปเดตใบรับรองภายในเครื่อง:
  • หากใบรับรองภายในเครื่องตรงกับใบรับรองล่าสุดบนคลาวด์ จะข้ามการอัปเดต
  • หากไม่ตรงกัน จะสำรองไฟล์ใบรับรองภายในเครื่องโดยอัตโนมัติ (สร้างข้อมูลสำรอง .bak พร้อมเวลา) จากนั้นดำเนินการ before_script เขียนใบรับรองใหม่ และดำเนินการ after_script เพื่อโหลดบริการใหม่
คำแนะนำ

หากต้องการบังคับดำเนินการ after_script หนึ่งครั้งโดยไม่อัปเดตใบรับรอง (เช่น เพื่อดีบักสคริปต์โหลดใหม่) สามารถใช้พารามิเตอร์ --force-after ได้