ปิดใช้งานการตรวจสอบการอัปเดตโค้ด Collabora และการเชื่อมต่อที่ไม่ต้องการ
หยุดการตรวจสอบการอัปเดต CODE ตามกำหนดเวลา ตรวจสอบบริการระยะไกลเสริม และใช้การควบคุมเครือข่ายขาออกโดยไม่ทำให้การแก้ไขเอกสารหยุดชะงัก
เพื่อป้องกันไม่ให้ Collabora Online Development Edition (CODE) ตรวจสอบเวอร์ชันตามกำหนดเวลา ให้ตั้งค่าfetch_update_checkเป็น0และallow_update_popupเป็นfalseสำหรับการใช้งานที่ห้ามติดต่อกับบริการภายนอกที่ไม่ได้รับอนุญาต ให้ปิดใช้งานการผสานรวมที่ไม่ได้ใช้และบังคับใช้รายการที่อนุญาตขาออกที่ขอบเขตเครือข่ายด้วย การซ่อนการแจ้งเตือนการอัปเดตเพียงอย่างเดียวไม่สามารถบล็อกการรับส่งข้อมูลเครือข่ายได้
ณ เดือนตุลาคม 2026 coolwsd.xml.inเอกสารที่ Collabora ดูแลรักษาระบุช่วงเวลาตรวจสอบการอัปเดตไว้ที่ 10 ชั่วโมง และมีการควบคุมแยกต่างหากสำหรับการแจ้งเตือนการอัปเดต แต่ไม่ได้ระบุสวิตช์สากลที่ระบุว่า “ปิดใช้งานการส่งข้อมูลทางไกล” คำขออัปเดต การแก้ไขโดยใช้ระบบคลาวด์ (ซึ่งเป็นทางเลือก) บันทึกการวินิจฉัยในเครื่อง และการเชื่อมต่อ WOPI ที่จำเป็นกับเซิร์ฟเวอร์จัดเก็บเอกสารนั้นแตกต่างกัน การจัดการสิ่งเหล่านี้เป็นค่าการตั้งค่าเดียวอาจทำให้การเชื่อมต่อยังคงทำงานอยู่หรือทำให้การแก้ไขเอกสารล้มเหลวได้
คำแนะนำเหล่านี้ใช้ได้กับcollabora/codeระบบ Docker แบบสแตนด์อโลนเป็นหลัก การติดตั้งแบบแพ็กเกจใช้แนวคิดการกำหนดค่าเดียวกัน แต่โดยทั่วไปจะแก้ไข/etc/coolwsd/coolwsd.xmlและรีสตาร์ทcoolwsdบริการ การติดตั้ง CODE ในตัวที่จัดการโดยผลิตภัณฑ์อื่นอาจสร้างตัวเลือกการเริ่มต้นใหม่ ให้เปลี่ยนตัวเลือกเหล่านั้นในผลิตภัณฑ์ที่จัดการแทนที่จะแก้ไขไฟล์ชั่วคราว
ขั้นแรก ให้ตรวจสอบว่าบริการ CODE ของคุณได้รับการกำหนดค่าผ่าน Docker Compose docker runคำสั่ง หรือแพ็กเกจดั้งเดิม สำหรับ Docker ให้ตรวจสอบคอนเทนเนอร์และสภาพแวดล้อมปัจจุบันโดยไม่ต้องเผยแพร่ผลลัพธ์ต่อสาธารณะ เนื่องจากตัวแปรสภาพแวดล้อมอาจมีข้อมูลประจำตัวอยู่:
docker ps --format 'table {{.Names}} {{.Image}}'
docker inspect --format '{{range .Config.Env}}{{println .}}{{end}}' code
แทนที่codeด้วยชื่อคอนเทนเนอร์จริงของคุณ บันทึกสำเนาไฟล์การปรับใช้หรือไฟล์ที่มีอยู่แล้วอย่างปลอดภัยcoolwsd.xmlก่อนทำการเปลี่ยนแปลง หากการกำหนดค่า Compose ของคุณมีการยุติ TLS การอนุญาตโฮสต์ WOPI หรือพารามิเตอร์การตรวจสอบสิทธิ์อยู่แล้ว ให้คงค่าเหล่านั้นไว้
เพิ่มตัวเลือกเหล่านี้ลงในextra_paramsค่าที่มีอยู่แล้วในบล็อกของบริการ CODE ของคุณenvironmentนี่เป็นเพียงส่วนหนึ่ง ไม่ใช่การแทนที่ไฟล์ทั้งหมด:
services:
code:
environment:
extra_params: >-
--o:fetch_update_check=0
--o:allow_update_popup=false
รวมแฟล็กทั้งสองเข้ากับextra_paramsแฟล็กที่มีอยู่แล้วแทนที่จะเขียนทับ จากนั้นสร้างบริการ CODE ขึ้นใหม่โดยdocker compose up -d --no-deps --force-recreate codeใช้ชื่อบริการ Compose จริงของคุณ ในdocker runการปรับใช้ ให้ใส่ตัวเลือกเดียวกันในextra_paramsตัวแปรสภาพแวดล้อมเมื่อสร้างคอนเทนเนอร์ขึ้นใหม่
แก้ไข/etc/coolwsd/coolwsd.xmlค้นหาองค์ประกอบที่มีอยู่และเปลี่ยนค่าขององค์ประกอบเหล่านั้น โดยคงคุณลักษณะเดิมไว้:
<fetch_update_check>0</fetch_update_check>
<allow_update_popup>false</allow_update_popup>
หากองค์ประกอบที่มีอยู่มีแอตทริบิวต์ ให้คงแอตทริบิวต์เหล่านั้นไว้และเปลี่ยนแปลงเฉพาะค่าข้อความเท่านั้น ตรวจสอบว่าไฟล์เป็น XML ที่ถูกต้องก่อนที่จะรีสตาร์ท ตัวอย่างเช่น ใช้คำสั่งxmllint --noout /etc/coolwsd/coolwsd.xmlif xmllintที่ติดตั้งไว้ รีสตาร์ทโดยใช้คำสั่งsudo systemctl restart coolwsd.
สำคัญ: allow_update_popup=false การตั้งค่า นี้จะระงับการแจ้งเตือนการอัปเดตของตัวแก้ไข ไม่ใช่การควบคุมการส่งออกโดยตรงfetch_update_check=0การตั้งค่านี้ใช้กับการตรวจสอบตามกำหนดเวลา องค์กรของคุณยังคงต้องติดตามการอัปเดตด้านความปลอดภัยผ่านกระบวนการบำรุงรักษาตามปกติ
ตรวจสอบการตั้งค่าที่ใช้งานอยู่สำหรับการผสานรวมระยะไกล ในการตั้งค่าอัปสตรีมปัจจุบัน เครื่องมือตรวจสอบการพิสูจน์อักษร LanguageTool หรือ Duden ระยะไกลจะถูกปิดใช้งานโดยค่าเริ่มต้น และสวิตช์ AI และ DeepL ทั่วทั้งเซิร์ฟเวอร์ก็ถูกระบุว่าปิดใช้งานโดยค่าเริ่มต้นเช่นกัน ผู้ดูแลระบบหรือการผสานรวมอาจเปิดใช้งานไว้ หากมีตัวเลือกเหล่านี้ในเวอร์ชัน CODE ที่ติดตั้งไว้ ให้ปิดใช้งานไว้หากคุณไม่ต้องการใช้งาน
--o:languagetool.enabled=false
--o:ai.enabled=false
--o:deepl.enabled=false
รวมเฉพาะตัวเลือกที่เวอร์ชันที่ติดตั้งของคุณรองรับ และผสานรวมเข้าด้วยกันextra_paramsแทนที่จะสร้างค่าที่ขัดแย้งกันค่าที่สอง สามารถกำหนดค่าผลลัพธ์เดียวกันได้ใน ส่วน <options> <languagetool>, <options> <ai>และ <options> ที่ตรงกัน <deepl>ของการติดตั้ง XML ดั้งเดิม
ตรวจสอบremote_config.remote_urlและremote_font_config.urlล้างข้อมูลเหล่านั้นก่อนที่จะลบ URL การกำหนดค่าระยะไกลที่ว่างเปล่าจะช่วยหลีกเลี่ยงการดึงข้อมูลการกำหนดค่าเพิ่มเติมนั้น URL ฟอนต์ระยะไกลอาจชี้ไปยังการติดตั้ง Nextcloud ของคุณเองอย่างถูกต้อง การลบออกอาจส่งผลต่อการจัดรูปแบบตัวอักษรของเอกสาร ดังนั้นควรเก็บไว้หากบริการฟอนต์ได้รับการอนุมัติและจำเป็น นอกจากนี้ ให้ตรวจสอบที่อยู่ WebSocket สำหรับการตรวจสอบที่กำหนดค่าไว้และปลั๊กอินเพิ่มเติม เช่น ตัวจัดการการอ้างอิง ตามความต้องการของการใช้งานของคุณด้วย
การบันทึกข้อมูลเป็นเรื่องความเป็นส่วนตัวที่แยกต่างหาก ไม่ใช่หลักฐานการส่งข้อมูลทางไกลจากภายนอก ตรวจสอบlogging.docstats, logging.userstats, และlogging.anonymize.anonymize_user_dataหากคุณต้องการจำกัดตัวระบุภายในในการวินิจฉัย เก็บรักษาบันทึกข้อมูลด้านความปลอดภัยและการปฏิบัติงานให้เพียงพอสำหรับการแก้ไขปัญหา การเปลี่ยนระดับความละเอียดของบันทึกข้อมูลไม่ได้ปิดกั้นซ็อกเก็ตขาออก
การเปลี่ยนแปลงเฉพาะการตั้งค่าอย่างเดียวไม่สามารถรับประกันได้ว่าจะไม่มีการเชื่อมต่อขาออกที่ไม่คาดคิดเกิดขึ้น ควรติดตั้ง CODE ไว้หลังไฟร์วอลล์หรือพร็อกซีขาออกที่อนุญาตเฉพาะปลายทางและพอร์ตที่การใช้งานของคุณต้องการ โดยทั่วไปแล้ว นั่นหมายถึงโฮสต์จัดเก็บข้อมูล WOPI ที่ได้รับอนุมัติ บริการฟอนต์หรือบริการระบุตัวตนภายในที่คุณใช้งานจริง และโครงสร้างพื้นฐานที่จำเป็น เช่น DNS ภายใน ควรบล็อกปลายทางอินเทอร์เน็ตอื่นๆ รวมถึงปลายทางการอัปเดตที่ไม่ได้รับอนุมัติ ไม่ให้เข้าถึงเวิร์กโหลดของ CODE
อย่าปิดใช้งานเครือข่ายโดยไม่พิจารณาให้รอบคอบ หรือตั้งค่าเครือข่าย Docker เป็นค่าว่างinternal: true: ขึ้นอยู่กับสถาปัตยกรรมของคุณ การทำเช่นนั้นอาจทำให้ CODE ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ WOPI หรือทำให้การทำงานร่วมกันที่จำเป็นบางอย่างใช้งานไม่ได้ นอกจากนี้ โปรดจำไว้ว่าเบราว์เซอร์ของผู้ใช้จะโหลดทรัพยากรของตัวแก้ไข และอาจทำการร้องขอโดยอิสระจากเซิร์ฟเวอร์ CODE กฎไฟร์วอลล์ของเซิร์ฟเวอร์ไม่ได้ควบคุมเบราว์เซอร์
สำหรับการติดตั้ง Docker Engine ที่ใช้แบ็กเอนด์ iptables นั้น Docker ได้ระบุว่าDOCKER-USERchain คือตำแหน่งที่เหมาะสมสำหรับกฎการส่งต่อของผู้ดูแลระบบ แต่หากใช้แบ็กเอนด์ nftables ให้สร้าง base chain แยกต่างหากแทนที่จะคิดว่าDOCKER-USERมันมีอยู่แล้ว ออกแบบกฎให้เหมาะสมกับเครือข่าย bridge หรือ container จริงๆ รวมถึง IPv4 และ IPv6, DNS, สถานะการเชื่อมต่อ และทราฟฟิก WOPI ที่ถูกต้องDROPการใช้กฎทั่วไปที่คัดลอกมาจะช่วยให้แก้ไขได้แบบออฟไลน์ โปรดดูคำแนะนำของ Docker เกี่ยวกับ iptablesและnftablesก่อนที่จะบังคับใช้นโยบาย
หลังจากรีสตาร์ทหรือสร้างคอนเทนเนอร์ใหม่ ให้ตรวจสอบบันทึกการเริ่มต้นระบบเพื่อหาข้อผิดพลาดในการกำหนดค่า และทดสอบการเปิด การแก้ไข และการบันทึกเอกสารผ่านการผสานรวมการจัดเก็บข้อมูลตามปกติ การที่โปรแกรมแก้ไขตอบสนองได้เพียงอย่างเดียวไม่ได้หมายความว่าคำขอที่ไม่ได้รับอนุญาตทั้งหมดหยุดลงแล้ว ตรวจสอบพารามิเตอร์การเริ่มต้นระบบที่กำลังทำงานอยู่ จากนั้นตรวจสอบบันทึก DNS และการเชื่อมต่อขาออกจากไฟร์วอลล์ พร็อกซีขาออก หรือเครือข่ายคอนเทนเนอร์ของคุณในระหว่างการเริ่มต้นระบบและการแก้ไขเอกสาร
docker logs --since 10m code
# Check configured flags without exposing unrelated environment secrets:
docker inspect --format '{{range .Config.Env}}{{println .}}{{end}}' code | grep '^extra_params='
ในการติดตั้งแบบเนทีฟ ให้ใช้งานsudo journalctl -u coolwsd --since '10 minutes ago'และตรวจสอบไฟล์ XML ในเครื่อง สำหรับฝั่งเบราว์เซอร์ ให้เปิดเครื่องมือสำหรับนักพัฒนาของเบราว์เซอร์และตรวจสอบแท็บเครือข่ายขณะเปิดเอกสาร แยกแยะคำขอไปยังโฮสต์ CODE และ WOPI ของคุณเองออกจากปลายทางของบุคคลที่สาม
เกณฑ์ความสำเร็จ: CODE โหลดและบันทึกเอกสารได้ตามปกติ; ตัวเลือกตรวจสอบการอัปเดตถูกตั้งค่าเป็นศูนย์; การผสานรวมระบบคลาวด์เสริมจะยังคงถูกปิดใช้งานเว้นแต่จะได้รับการอนุมัติอย่างชัดเจน; และการตรวจสอบเครือข่ายจะแสดงเฉพาะปลายทางที่ได้รับอนุญาตในช่วงระยะเวลาการสังเกตเท่านั้น หากการโหลดเอกสารล้มเหลวหลังจากกรองการรับส่งข้อมูลแล้ว ให้ตรวจสอบปลายทางที่ถูกปฏิเสธชั่วคราวกับรายการ WOPI และโครงสร้างพื้นฐานที่ได้รับอนุมัติแทนที่จะปิดใช้งานการตรวจสอบใบรับรอง TLS หรือเปิดการส่งออกที่ไม่จำกัด
เอกสารอ้างอิงหลัก: เทมเพลตการกำหนดค่าเซิร์ฟเวอร์ที่ดูแลโดย Collabora , การกำหนดค่าคอนเทนเนอร์ Nextcloud All-in-One CODEและคำอธิบายอิมเมจ Docker อย่างเป็นทางการของ CODEเอกสารเหล่านี้ระบุการตั้งค่าและรูปแบบการปรับใช้ที่เกี่ยวข้อง แต่ไม่ได้ทดแทนการตรวจสอบเครือข่ายของการติดตั้งเฉพาะของคุณ
หยุดการตรวจสอบการอัปเดต CODE ตามกำหนดเวลา ตรวจสอบบริการระยะไกลเสริม และใช้การควบคุมเครือข่ายขาออกโดยไม่ทำให้การแก้ไขเอกสารหยุดชะงัก
เปิดใช้งานการแก้ไขเอกสารอย่างปลอดภัยใน Seafile โดยการกำหนดค่า URL การค้นหาของ Collabora, การเข้าถึง HTTPS และ WOPI สำหรับการใช้งานของคุณ
ทดสอบคลิปบอร์ดของระบบ ปรับสิทธิ์การเข้าถึงของเบราว์เซอร์ และระบุว่าเมื่อใดที่การผสานรวม Collabora ที่ฝังอยู่จำเป็นต้องมีการเปลี่ยนแปลงนโยบาย iframe
ติดตั้งไฟล์ฟอนต์ลงใน Docker และ systemplate ของ Collabora เพื่อให้แบบอักษรที่กำหนดเองปรากฏในโปรแกรมแก้ไขและแสดงผลได้อย่างถูกต้องในเอกสาร
สำรองข้อมูล coolwsd.xml และซอร์สโค้ดสำหรับการปรับใช้ กู้คืนอย่างปลอดภัย และตรวจสอบโค้ดก่อนที่ผู้ใช้จะกลับมาแก้ไขอีกครั้ง
อนุญาตให้ใช้ Nextcloud หรือ WOPI ต้นทางที่ถูกต้องในโค้ด จากนั้นตรวจสอบรายการอนุญาตโฮสต์ที่ใช้งานอยู่ และแยกแยะความแตกต่างจากข้อจำกัด IP ต้นทางของ Nextcloud
ตรวจสอบการเชื่อมต่อเบราว์เซอร์, WOPI และ WebSocket ของ Collabora เพื่อหาสาเหตุที่เอกสารเปิดไม่ได้ จากนั้นใช้การแก้ไขที่ตรงกับการตั้งค่า Nextcloud ของคุณ
ติดตั้ง Collabora CODE replicas ด้วย Helm เก็บเอกสารแต่ละฉบับไว้ใน pod เดียวผ่าน WOPI affinity และตรวจสอบ ingress การจัดวางโหนด และการแก้ไขใน Nextcloud
ตรวจสอบการเชื่อมต่อซ็อกเก็ตที่ล้มเหลวจากเบราว์เซอร์ไปยัง coolwsd จากนั้นจับคู่เส้นทางพร็อกซีแบบย้อนกลับกับเวอร์ชัน Collabora ของคุณ รวมถึงการเปลี่ยนแปลง Apache ใน CODE 26.04 ด้วย
ตรวจสอบหาสาเหตุของความล้มเหลวในการตรวจสอบความถูกต้องของ Collabora WOPI ที่เกิดจากคีย์ไม่ตรงกัน ข้อมูลการค้นหาที่ล้าสมัย การคลาดเคลื่อนของเวลา หรือการเปลี่ยนแปลง URL พร็อกซี โดยไม่ลดทอนประสิทธิภาพการตรวจสอบความถูกต้อง