เมื่อ Collabora Online CODE แจ้งว่า “Unauthorized WOPI host” ให้เพิ่มโฮสต์ที่ใช้จัดเก็บไฟล์จริง—โดยปกติคือ Nextcloud origin ของคุณ—ลงในรายการอนุญาต WOPI host ของ CODE โฮสต์ดังกล่าวต้องตรงกับ origin ที่ CODE ได้รับในคำขอ WOPI ไม่ใช่ URL สาธารณะของเซิร์ฟเวอร์ Collabora ใน Docker นั้น โดยทั่วไปจะกำหนดค่านี้ด้วยaliasgroup1ตัวแปรสภาพแวดล้อม
คำเตือนนี้ระบุว่าการตรวจสอบสิทธิ์โฮสต์ WOPI ล้มเหลวรหัสใดที่ปฏิเสธ
WOPI ย่อมาจาก Web Application Open Platform Interface ซึ่งเป็นโปรโตคอลที่เซิร์ฟเวอร์สำนักงานใช้ในการเปิดและบันทึกไฟล์ผ่านแพลตฟอร์มจัดเก็บข้อมูลโฮสต์ WOPIคือแพลตฟอร์มจัดเก็บข้อมูลนั้น เช่น Nextcloud CODE จะตรวจสอบโฮสต์ที่ระบุในคำขอ WOPI กับโฮสต์ที่เชื่อถือได้ หากคำขอระบุชื่อโฮสต์ที่ไม่ถูกต้องcloud.example.comแต่ CODE ถูกตั้งค่าให้เชื่อถือได้เฉพาะโฮสต์ที่ไม่ถูกต้องเท่านั้นoffice.example.comโปรแกรมแก้ไขสามารถปฏิเสธการเชื่อมต่อก่อนที่จะเปิดได้
สำหรับการตั้งค่าแบบโฮสต์เอง ชื่อโฮสต์ในคำขออาจเป็นชื่อภายในของ Docker เช่นnextcloudแทนที่จะเป็นชื่อโฮสต์ที่เบราว์เซอร์มองเห็นได้ การใช้พร็อกซีแบบย้อนกลับ พอร์ตที่แตกต่างกัน หรือ URL สาธารณะและภายในที่แยกจากกัน ก็สามารถทำให้ต้นทางแตกต่างกันได้เช่นกัน ควรตั้งค่าสิ่งที่คำขอใช้จริง ไม่ใช่สิ่งที่ดูเหมือนจะเป็นชื่อเซิร์ฟเวอร์ "หลัก"
พบว่าโฮสต์ CODE กำลังปฏิเสธ
- จำลองข้อผิดพลาดขึ้นมาหนึ่งครั้ง จากนั้นตรวจสอบบันทึกคอนเทนเนอร์ CODE ในช่วงเวลาดังกล่าว หากใช้ Docker Compose ให้รันคำสั่ง โดย
docker compose logs --since=10m collaboraแทนที่collaboraด้วยชื่อบริการของคุณ - มองหาข้อความลักษณะนี้
No acceptable WOPI hosts found matching the target host [cloud.example.com] in configบันทึกโฮสต์เป้าหมายที่แสดงในวงเล็บ อย่าคัดลอกหรือแชร์ URL ของ WOPI ทั้งหมด เพราะอาจมีโทเค็นการเข้าถึงที่มีอายุสั้นอยู่ - เปรียบเทียบชื่อโฮสต์และรูปแบบนั้นกับ URL ที่การผสานรวมพื้นที่จัดเก็บข้อมูลของคุณส่งไปยัง CODE ใน Nextcloud คำแนะนำในการแก้ไขปัญหาแนะนำให้ตรวจสอบว่า URL ที่กำหนดค่าไว้นั้นเป็น URL ของ Nextcloud และ CODE สามารถเข้าถึงได้ ตรวจสอบ
WOPISrcโฮสต์ หากมีอยู่ในบันทึกการผสานรวมของคุณ โดยเก็บโทเค็นสตริงคำค้นหาไว้เป็นส่วนตัว
โฮสต์เป้าหมายที่อยู่ในวงเล็บคือค่าที่จะนำไปเปรียบเทียบกับโฮสต์ WOPI ที่กำหนดค่าไว้ใน CODE ซึ่งเป็นรูปแบบบันทึกตัวอย่างอนุญาตให้ใช้แหล่งกำเนิดที่ถูกต้องในโค้ด
สำหรับอิมเมจ Docker อย่างเป็นทางการของ CODE ให้ตั้งaliasgroup1ค่าแหล่งที่มา WOPI ที่เชื่อถือได้ให้ถูกต้อง สำหรับการติดตั้ง Nextcloud เพียงครั้งเดียว บริการ Compose สามารถประกอบด้วย:
services:
collabora:
image: collabora/code
environment:
aliasgroup1: "https://cloud.example.com:443"
แทนที่ตัวอย่างด้วยโฮสต์ Nextcloud จริงของคุณ รวมถึงรูปแบบและพอร์ตที่คำขอ WOPI ใช้ คงแท็กรูปภาพ การตั้งค่าผู้ดูแลระบบ เครือข่าย และตัวเลือกบริการอื่นๆ ที่มีอยู่ในไฟล์ Compose ของคุณ ตัวอย่างนี้ใช้ต้นทาง HTTPS ที่พอร์ต 443 การใช้งานที่แตกต่างกันอาจใช้พอร์ตอื่นหรือต้นทางภายในก็ได้
สำหรับโอริเอนต์ Nextcloud เดียว ชื่อแทน Docker group1 ของ CODE ควรตรงกับโฮสต์ที่ใช้ในคำขอ WOPIหลังจากแก้ไขไฟล์ Compose แล้ว ให้สร้างคอนเทนเนอร์ CODE ขึ้นใหม่เพื่อให้ได้รับสภาพแวดล้อมที่อัปเดตแล้ว:
docker compose up -d --force-recreate collabora
ใช้ชื่อบริการ Compose จริงของคุณแทนที่collaboraการรีสตาร์ทธรรมดาอาจไม่โหลดค่าสภาพแวดล้อมคอนเทนเนอร์ที่เปลี่ยนแปลง การสร้างบริการใหม่จะใช้การกำหนดค่าที่อัปเดตแล้ว หากคุณกำหนดค่า CODE ผ่านไฟล์ XML ให้ตรวจสอบstorage.wopiกลุ่มนามแฝงในการกำหนดค่าที่มีผลแทน คู่มือ SDK อย่างเป็นทางการของ Collabora จะอธิบายกลุ่มนามแฝง Docker และนามแฝงโฮสต์ WOPI โปรดปฏิบัติตามไวยากรณ์สำหรับเวอร์ชัน CODE ที่คุณใช้งาน
ควรแยกรายการอนุญาตทั้งสองรายการออกจากกัน
Collabora และ Nextcloud ต่างก็สามารถบังคับใช้ข้อจำกัดที่เกี่ยวข้องกับ WOPI ได้ แต่ทั้งสองแพลตฟอร์มตอบคำถามที่แตกต่างกัน:
| การตั้งค่า | สิ่งที่มันตรวจสอบ | การแก้ไขทั่วไป |
|---|
CODE WOPI host allow-list ( aliasgroup1) | CODE ยอมรับชื่อโฮสต์จัดเก็บข้อมูลใดในคำขอ WOPI | อนุญาตให้ส่งต้นทาง Nextcloud จริงไปยัง CODE |
| Nextcloud “รายการอนุญาตสำหรับคำขอ WOPI” | ที่อยู่ IP ต้นทางใดบ้างที่สามารถส่งคำขอ WOPI ไปยัง Nextcloud ได้ | อนุญาตให้ Nextcloud เข้าถึงที่อยู่ดังกล่าวสำหรับคอนเทนเนอร์ CODE หรือพร็อกซี |
การตั้งค่า Nextcloud แยกต่างหากนี้จำกัดที่อยู่ต้นทางที่อนุญาตให้ส่งคำขอ WOPI ซึ่งไม่ใช่รายการชื่อโฮสต์ WOPI ที่เชื่อถือได้ของ CODEการเปลี่ยนรายการอนุญาต IP ต้นทางของ Nextcloud จะไม่แก้ไขปัญหาที่ CODE ปฏิเสธชื่อโฮสต์ ในทางกลับกัน การเพิ่มชื่อโฮสต์ลงใน CODE ก็ไม่ได้อนุญาตให้ IP ต้นทางของ CODE เข้าถึง Nextcloud ได้ เอกสารของ Nextcloud แนะนำให้จำกัดคำขอ WOPI เฉพาะที่อยู่ IP ของเซิร์ฟเวอร์ Collabora เท่านั้น ให้ใช้ที่อยู่ IP ที่ Nextcloud ตรวจพบ ซึ่งอาจแตกต่างกันเมื่อมีการใช้งานคอนเทนเนอร์หรือพร็อกซีแบบย้อนกลับ
ตรวจสอบอย่างรวดเร็วก่อนปิดเหตุการณ์
- เป้าหมายระบุ
cloud.example.comว่า:อนุญาตโฮสต์ Nextcloud และต้นทางที่เหมาะสมในโค้ด - ข้อความเป้าหมาย
nextcloud:โค้ดอาจกำลังรับชื่อโฮสต์เครือข่าย Docker; ตัดสินใจว่าแหล่งที่มาภายในนั้นเป็นสิ่งที่ตั้งใจไว้หรือไม่ จากนั้นกำหนดค่าโฮสต์ที่เชื่อถือได้ที่เกี่ยวข้องและตรวจสอบให้แน่ใจว่าสามารถเข้าถึง DNS/เครือข่ายได้ - เป้าหมายตรงกัน แต่การปฏิเสธยังคงเหมือนเดิม:โปรดยืนยันว่าตัวแปรที่แก้ไขนั้นเป็นส่วนหนึ่งของบริการ CODE ที่กำลังทำงานอยู่ ว่า Compose ได้สร้างคอนเทนเนอร์ขึ้นใหม่ และไม่มีการกำหนดค่าสภาพแวดล้อมหรือ XML ในภายหลังมาแทนที่การตั้งค่านี้
- หากบันทึกการเปลี่ยนแปลงไปเป็นข้อผิดพลาดของ DNS, TLS, การหมดเวลา หรือ CheckFileInfo:การตรวจสอบการอนุญาตโฮสต์อาจผ่านแล้ว โปรดตรวจสอบการแก้ไขชื่อ การเชื่อถือใบรับรอง การกำหนดเส้นทาง หรือการตอบสนองข้อมูลไฟล์ของการรวมระบบจัดเก็บข้อมูล แทนที่จะขยายรายการโฮสต์ WOPI
- Nextcloud รายงานว่ามีที่อยู่คำขอที่ไม่ได้รับอนุญาต:โปรดตรวจสอบรายการ IP ต้นทางที่อนุญาตของ Nextcloud และ IP ไคลเอ็นต์ที่ Nextcloud เห็นจริง
อย่าแก้ปัญหาความไม่ตรงกันด้วยการเชื่อถือโฮสต์ทุกตัวหรือใช้สัญลักษณ์ตัวแทนแบบไม่จำกัดในการใช้งานจริง ควรจำกัดรายการที่อนุญาตไว้เฉพาะแหล่งที่มาของข้อมูลที่รู้จักเท่านั้น หากตั้งใจใช้โฮสต์จัดเก็บข้อมูลหลายตัว ให้กำหนดค่ากลุ่มนามแฝงตามเอกสารสำหรับเวอร์ชัน CODE ที่ติดตั้งไว้แทนที่จะเดาพฤติกรรมของสัญลักษณ์ตัวแทน
ตรวจสอบการแก้ไข
เปิดเอกสารผ่านการผสานรวม Nextcloud เดียวกันกับที่เกิดปัญหา จากนั้นตรวจสอบบันทึก CODE ล่าสุด: ข้อความปฏิเสธ “No acceptable WOPI hosts” ควรหายไปแล้ว ยืนยันว่าเอกสารโหลดและบันทึกได้ หากมีข้อผิดพลาดใหม่ปรากฏขึ้น ให้ใช้ข้อความนั้นเพื่อระบุขั้นตอนต่อไป สำหรับการตรวจสอบโฮสต์สองครั้งและขั้นตอนการแก้ไขปัญหา Nextcloud โปรดดูที่ การแก้ไขปัญหา Nextcloud Officeและการกำหนดค่า Nextcloud Officeสำหรับกลุ่มนามแฝง Docker ของ CODE โปรดดูคู่มือ Collabora Online SDK 25.04ใช้เอกสารที่ตรงกับเวอร์ชันที่ติดตั้งของคุณหากการกำหนดค่าแตกต่างกัน