เพิ่มส่วนหัว HSTS ที่ปลายทาง HTTPS ที่ให้บริการ Nextcloud
ล้างคำเตือน HSTS ของ Nextcloud โดยการตั้งค่าส่วนหัวที่ Apache, NGINX หรือพร็อกซี TLS ของคุณ จากนั้นตรวจสอบการตอบสนอง HTTPS สาธารณะอย่างปลอดภัย
ตั้งแต่ Nextcloud เวอร์ชัน 33 เป็นต้นไป ค่าเริ่มต้นของการหมดเวลาการร้องขอข้อมูลเมตาของ App Store จะอยู่ที่ 120 วินาที และสามารถปรับได้ด้วยoccซึ่งจะช่วยแก้ปัญหาการตอบสนองที่ช้าได้ แต่ข้อความ “ไม่สามารถติดตั้งแอปได้เนื่องจากเซิร์ฟเวอร์ไม่มีอินเทอร์เน็ต” ควรตรวจสอบจากเซิร์ฟเวอร์หรือคอนเทนเนอร์ที่ใช้งาน Nextcloud ก่อน ไม่ใช่จากเบราว์เซอร์ของคุณ
ทดสอบการเชื่อมต่อ App Store จากรันไทม์ของ Nextcloud เอง จากนั้นแก้ไขปัญหาเฉพาะจุด: DNS, HTTPS ขาออก, การกำหนดค่าพร็อกซี, ความน่าเชื่อถือของใบรับรอง หรือการตั้งค่า App Store ข้อความที่แสดงเป็นข้อความทั่วไป ไม่ได้พิสูจน์ว่าเซิร์ฟเวอร์ทั้งหมดออฟไลน์
ตรวจสอบว่าแอปทุกแอปหรือเพียงแอปเดียวที่ติดตั้งไม่สำเร็จ หากแคตตาล็อกโหลดได้ แต่แอปหนึ่งติดตั้งไม่ได้ ให้ตรวจสอบความเข้ากันได้ของเวอร์ชัน Nextcloud และสิทธิ์การเข้าถึงไดเร็กทอรีแอป ซึ่งอาจไม่ใช่ปัญหาเครือข่ายเสมอไป
เพื่อให้เห็นข้อผิดพลาดได้ชัดเจนยิ่งขึ้น ลองติดตั้งจากบรรทัดคำสั่งดู หากติดตั้งสำเร็จ แอปจะถูกติดตั้ง ดังนั้นให้ใช้รหัสแอปที่ต้องการ เรียกใช้ในฐานะผู้ใช้ HTTP เพื่อรักษาสิทธิ์ความเป็นเจ้าของไฟล์ สำหรับ Debian หรือ Ubuntu:
sudo -u www-data php /var/www/nextcloud/occ app:install news
แทนที่newsด้วยรหัสแอปที่คุณต้องการ ใน Docker ให้รันคำสั่งภายในคอนเทนเนอร์แอป Nextcloud ในฐานะผู้ใช้เว็บ เปรียบเทียบผลลัพธ์ทั้งหมดกับnextcloud.log; ข้อผิดพลาดด้านความเข้ากันได้หรือสิทธิ์การเข้าถึงจำเป็นต้องแก้ไขแตกต่างจากความล้มเหลวของ DNS

เรียกใช้การตรวจสอบเหล่านี้ในตำแหน่งที่กระบวนการ PHP ของ Nextcloud ทำงาน การร้องขอที่สำเร็จจากแล็ปท็อปหรือโฮสต์ Docker ของคุณไม่ได้หมายความว่าคอนเทนเนอร์แอปมีสิทธิ์เข้าถึงเครือข่ายเดียวกันเสมอไป
getent ahosts apps.nextcloud.com
curl -sS --connect-timeout 10 --max-time 30 -o /dev/null -w 'HTTP %{http_code}' https://apps.nextcloud.com/api/v1/categories.json
URL เริ่มต้นของ App Store คือhttps://apps.nextcloud.com/api/v1; Nextcloud จะดึงข้อมูลเมตา เช่นcategories.jsonจาก URL นั้น DNS ควรส่งคืนที่อยู่ และ HTTPS ควรส่งคืนการตอบสนอง ข้อผิดพลาดในการแก้ไขชื่อหรือการหมดเวลาชี้ไปที่ DNS การกำหนดเส้นทาง ไฟร์วอลล์ หรือพร็อกซี ข้อผิดพลาด TLS ชี้ไปที่ความน่าเชื่อถือของใบรับรองหรือเวลาของระบบ ข้อผิดพลาด HTTP หมายความว่าเซิร์ฟเวอร์ตอบกลับแล้ว ดังนั้นให้ตรวจสอบ URL และการตอบสนองของพร็อกซี
ใน Docker ให้ทำการตรวจสอบภายในคอนเทนเนอร์แอปพลิเคชัน Nextcloud ยืนยันว่า DNS ทำงานได้ และอนุญาตการส่งข้อมูล TCP ขาออกที่พอร์ต 443 หากมีพร็อกซีกรองปลายทาง ให้ตรวจสอบบันทึกของ Nextcloud เพื่อหาชื่อโฮสต์ดาวน์โหลดจาก App Store รวมถึงโฮสต์แคตตาล็อกด้วย

หากการรับส่งข้อมูลขาออกต้องการพร็อกซี ให้กำหนดค่าพร็อกซีสำหรับไคลเอ็นต์ PHP/HTTP ของ Nextcloud ไม่ใช่แค่เบราว์เซอร์หรือเชลล์ของผู้ดูแลระบบ Nextcloud รองรับ การตั้งค่าพร็อกซี proxy(ไม่บังคับproxyuserpwd) และproxyexcludeการตั้งค่าอื่นๆ เก็บข้อมูลรับรองพร็อกซีไว้เป็นความลับ ตรวจสอบว่า PHP-FPM และ CLI สืบทอดสภาพแวดล้อม เดียวกัน HTTPS_PROXYหรือ ไม่NO_PROXY
สำหรับข้อผิดพลาด TLS ให้ตรวจสอบนาฬิกาของเซิร์ฟเวอร์และอัปเดตชุด CA ของระบบปฏิบัติการ หากใช้พร็อกซีตรวจสอบขององค์กรที่ได้รับการอนุมัติ ให้เพิ่ม CA ที่เชื่อถือได้ลงในรันไทม์ PHP อย่าปิดใช้งานการตรวจสอบ TLS หรือใช้curl -kสำหรับการร้องขอจาก App Store เพราะจะทำให้การป้องกันการปลอมแปลงโฮสต์ดาวน์โหลดอ่อนแอลง

App Store เปิดใช้งานอยู่แล้วโดยค่าเริ่มต้น และ URL เริ่มต้นคือhttps://apps.nextcloud.com/api/v1ตรวจสอบconfig/config.phpหรือสอบถามค่าที่ใช้งานได้จริงด้วยoccคำสั่ง:
sudo -u www-data php /var/www/nextcloud/occ config:system:get appstoreenabled
sudo -u www-data php /var/www/nextcloud/occ config:system:get appstoreurl
หากappstoreenabledตั้งค่าเป็นเท็จโดยชัดเจน ให้เปิดใช้งานเฉพาะเมื่อนโยบายของคุณอนุญาตให้ใช้ร้านค้าสาธารณะเท่านั้น หากappstoreurlชี้ไปยังร้านค้าแบบกำหนดเองที่เก่าหรือไม่สามารถเข้าถึงได้ ให้คืนค่าเป็นค่าเริ่มต้นเฉพาะเมื่อคุณตั้งใจที่จะใช้ App Store สาธารณะของ Nextcloud เท่านั้น องค์กรที่ใช้ App Store ที่โฮสต์เองควรเก็บ URL นั้นไว้และแก้ไข DNS ใบรับรอง หรือเส้นทางการเข้าถึงแทน
หากแคตตาล็อกโหลดได้ แต่การติดตั้งยังคงล้มเหลว ให้ตรวจสอบapps_pathsรายการในการกำหนดค่าที่มีผลบังคับใช้ อย่างน้อยหนึ่งไดเร็กทอรีแอปที่กำหนดค่าไว้จะต้องสามารถเขียนได้โดยผู้ใช้เว็บเซิร์ฟเวอร์ Nextcloud แก้ไขเจ้าของไดเร็กทอรีหรือกลุ่มและสิทธิ์การเขียนที่ต้องการ อย่าทำให้ไดเร็กทอรีสามารถเขียนได้โดยทุกคน แอปที่ถูกบล็อกโดยรายการที่อนุญาตขององค์กรหรือไม่เข้ากันกับเวอร์ชัน Nextcloud ของคุณ จำเป็นต้องมีนโยบายของผู้ดูแลระบบหรือการตัดสินใจเกี่ยวกับเวอร์ชัน ไม่ใช่การเปลี่ยนแปลงเครือข่าย
หลังจากตรวจสอบ DNS, HTTPS, proxy, TLS และการตั้งค่าต่างๆ เรียบร้อยแล้ว ให้ลองติดตั้งใหม่อีกครั้งจากหน้าแอป หรือใช้occ app:installคำสั่งเดิม หากสามารถเข้าถึงคำขอได้ แต่ใช้เวลานานกว่าเวลาหมดอายุของเมตาเดต้าที่กำหนดไว้ Nextcloud เวอร์ชัน 33 ขึ้นไปสามารถตั้งค่าให้สูงขึ้นได้ ตัวอย่างเช่น:
sudo -u www-data php /var/www/nextcloud/occ config:app:set settings appstore-timeout --value=180
การตั้งค่านี้จะเพิ่มเวลารอเป็น 180 วินาที แต่จะไม่แก้ไขปัญหาการบล็อกขาออก ใบรับรองที่ไม่ถูกต้อง หรือ URL ของที่เก็บข้อมูลที่ไม่ถูกต้อง ค่าเริ่มต้นที่ระบุไว้คือ 120 วินาทีใน Nextcloud เวอร์ชัน 33 ขึ้นไป หากต้องการลบการตั้งค่าที่กำหนดเองและกลับไปใช้ค่าเริ่มต้น:
sudo -u www-data php /var/www/nextcloud/occ config:app:delete settings appstore-timeout
สำหรับเซิร์ฟเวอร์ที่แยกขาดจากเครือข่ายโดยเจตนา การใช้ App Store ที่ได้รับการอนุมัติและดูแลโดยผู้ให้บริการเองเป็นวิธีการกำหนดค่าที่ได้รับการสนับสนุน อย่าพยายามแก้ไขปัญหาการหยุดชะงักโดยการดาวน์โหลดไฟล์ ZIP ของแอปใดๆ แล้วนำไปวางไว้ในไดเร็กทอรีแอป ให้ใช้แหล่งที่เชื่อถือได้และตรวจสอบให้แน่ใจว่าเวอร์ชันนั้นตรงกับเซิร์ฟเวอร์ของคุณ

ตรวจสอบให้แน่ใจว่าแคตตาล็อก App Store โหลดได้ แอปที่ต้องการติดตั้งและปรากฏในรายการแอปที่เปิดใช้งาน และบันทึกไม่แสดงข้อผิดพลาดเกี่ยวกับการเชื่อมต่อ TLS หรือหมดเวลาอีกต่อไป หากปลายทางตอบสนองจากรันไทม์ของ Nextcloud แต่ UI ยังคงแสดงว่าไม่มีอินเทอร์เน็ต ให้เปรียบเทียบ URL และการตั้งค่าของ App Store ตรวจสอบความแตกต่างของสภาพแวดล้อมพร็อกซีระหว่าง PHP-FPM และ CLI และตรวจสอบว่ามีเพียงแอปเดียวที่ถูกบล็อกหรือไม่เข้ากันหรือไม่
อ้างอิง: การจัดการแอป Nextcloud และการตั้งค่า App Store ; แอป Nextcloud OCC และคำสั่งการกำหนดค่า ; พารามิเตอร์การกำหนดค่า Nextcloud สำหรับพร็อกซี ; จุดเชื่อม ต่อเมตาเดต้าของ Nextcloud App Store
ล้างคำเตือน HSTS ของ Nextcloud โดยการตั้งค่าส่วนหัวที่ Apache, NGINX หรือพร็อกซี TLS ของคุณ จากนั้นตรวจสอบการตอบสนอง HTTPS สาธารณะอย่างปลอดภัย
ตรวจสอบหาสาเหตุของการติดตั้งแอปจาก App Store ที่ล้มเหลว ไม่ว่าจะเป็นปัญหาจาก DNS, HTTPS, พร็อกซี, TLS หรือปัญหาการตั้งค่าจากเซิร์ฟเวอร์ Nextcloud เอง
ย้ายการสร้างภาพขนาดย่อไปไว้ในกำหนดการพื้นหลังที่ควบคุมได้ ตัดขนาดภาพตัวอย่างที่ไม่ได้ใช้ และตรวจสอบคิวโดยไม่ทำให้เซิร์ฟเวอร์ Nextcloud ของคุณทำงานหนักเกินไป
ค้นหาไฟล์ กฎการยกเว้น ปัญหาการเชื่อมต่อ หรือสถานะฐานข้อมูลไคลเอ็นต์ที่ทำให้การซิงค์ Nextcloud หยุดชะงัก จากนั้นตรวจสอบการอัปโหลดและดาวน์โหลดอย่างปลอดภัย
ค้นหาข้อจำกัดของ PHP OPcache ที่ทำให้เกิดคำเตือนของ Nextcloud อัปเดตการตั้งค่า PHP สำหรับเว็บให้ถูกต้อง รีสตาร์ทอย่างปลอดภัย และตรวจสอบผลลัพธ์
เปรียบเทียบ CODE ที่ติดตั้งมากับระบบและ CODE ที่ใช้ Docker จากนั้นเชื่อมต่อ Collabora Online กับ Nextcloud ผ่านพร็อกซีแบบย้อนกลับ HTTPS ที่ปลอดภัย
วางแผนการใช้งาน Nextcloud HA ที่เชื่อถือได้ โดยใช้พื้นที่จัดเก็บข้อมูลร่วมกัน การล็อก Redis การกำหนดเส้นทาง MariaDB ที่คำนึงถึงจำนวนเสียงข้างมาก และการตรวจสอบการทำงานล้มเหลวที่ใช้งานได้จริง
กำหนดค่าและตรวจสอบรีเลย์ TURN ที่สามารถเข้าถึงได้สำหรับ Nextcloud Talk เมื่อไฟร์วอลล์หรือ NAT ที่จำกัดปิดกั้นสื่อการโทรโดยตรง
ใช้รายงานไฟล์ที่ไม่ถูกต้องเพื่อระบุโค้ด Nextcloud ที่เปลี่ยนแปลง หายไป หรือเกินมา กู้คืนไฟล์ที่เชื่อถือได้อย่างปลอดภัย และตรวจสอบผลลัพธ์
ตั้งค่า OAuth2 สำหรับ Nextcloud Mail กับ Gmail หรือ Microsoft 365 ตรวจสอบการรับและส่ง และแก้ไขปัญหาการขอความยินยอมและข้อผิดพลาด SMTP ทั่วไป