ตั้งค่า URL สาธารณะของ Nextcloud เพื่อให้สามารถเข้าถึงได้ด้วยตัวเอง
แก้ไขข้อความเตือน "ที่อยู่ขาออกหายไป" ของ Nextcloud โดยการตั้งค่า URL หลัก และตรวจสอบ DNS, HTTPS และการกำหนดเส้นทางพร็อกซีแบบย้อนกลับจากตัวเซิร์ฟเวอร์เอง
ตั้งค่า URL พื้นฐานหลักของ Nextcloud ให้เป็นที่อยู่ที่ผู้ใช้ใช้งานจริง จากนั้นตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ Nextcloud สามารถแก้ไขและเชื่อมต่อกับที่อยู่นั้นได้ สำหรับการติดตั้ง HTTPS ทั่วไป การตั้งค่าที่สำคัญคือoverwrite.cli.url; หาก Nextcloud อยู่เบื้องหลังพร็อกซีแบบย้อนกลับ ให้แก้ไขโปรโตคอลที่ส่งต่อหรือเว็บรูทเฉพาะเมื่อการตั้งค่าของคุณต้องการเท่านั้น
คำเตือนที่ระบุว่า “เซิร์ฟเวอร์ไม่มีที่อยู่สำหรับเชื่อมต่อออก” อาจหมายถึง Nextcloud ไม่สามารถสร้างหรือตรวจสอบที่อยู่กลับไปยังเว็บเซอร์วิสของตนเองได้ ในเอกสารประกอบการใช้งาน Nextcloud ปัจจุบัน การตรวจสอบการตั้งค่าหลายอย่างกำหนดให้เว็บเซิร์ฟเวอร์ต้องเข้าถึงโดเมนที่เชื่อถือได้หรือโดเมนที่กำหนดค่าไว้overwrite.cli.urlซึ่งแตกต่างจากคำเตือนทั่วไปที่ว่า “การเชื่อมต่ออินเทอร์เน็ตใช้งานไม่ได้” ซึ่งมักหมายถึง DNS ขาออก ไฟร์วอลล์ หรือการเข้าถึงพร็อกซีไปยังบริการภายนอก
เลือก URL ที่เสถียรซึ่งผู้ใช้ของคุณป้อนเป็นประจำ ตัวอย่างเช่น หากผู้ใช้เปิด ให้https://cloud.example.comใช้รูปแบบและชื่อโฮสต์นั้น หากการติดตั้งให้บริการจากไดเร็กทอรีย่อย เช่นhttps://example.com/nextcloudให้รวม/nextcloudใน URL พื้นฐาน หลีกเลี่ยงการใช้localhostหรือชื่อคอนเทนเนอร์ส่วนตัวเป็น URL หลักเมื่อลิงก์ที่สร้างขึ้นต้องใช้งานได้สำหรับบุคคลภายนอกเครื่องนั้น
Nextcloud ใช้overwrite.cli.urlURL นี้เป็น URL พื้นฐานหลักเมื่อสร้างลิงก์นอกเหนือจากการร้องขอผ่านเบราว์เซอร์ตามปกติ รวมถึงบริบทของบรรทัดคำสั่งและการทำงานเบื้องหลัง ดังนั้นจึงเป็นการตั้งค่าที่เหมาะสมเมื่อเกิดคำเตือนหรือลิงก์เสียเนื่องจาก URL ที่ไม่ถูกต้องซึ่งถูกอนุมานระหว่างการติดตั้ง
ในการติดตั้ง Linux มาตรฐาน ให้เปลี่ยนไปยังไดเร็กทอรี Nextcloud ที่มีoccไฟล์ —โดยทั่วไปคือ/var/www/nextcloud—และเรียกใช้คำสั่งนี้ในฐานะผู้ใช้เว็บเซิร์ฟเวอร์:
cd /var/www/nextcloud
sudo -u www-data php occ config:system:set overwrite.cli.url --value="https://cloud.example.com"
แทนที่ URL ตัวอย่างด้วยที่อยู่สาธารณะจริงของคุณ สำหรับการติดตั้งในไดเร็กทอรีย่อย ให้ระบุพาธของไดเร็กทอรีนั้นด้วย เช่นhttps://example.com/nextcloudหากการติดตั้งของคุณใช้บัญชีเว็บเซิร์ฟเวอร์ คอนเทนเนอร์ หรือโครงสร้างแพ็กเกจที่แตกต่างกัน ให้ใช้วิธีการที่ระบุไว้ในเอกสารของการติดตั้งนั้นในการเรียกใช้คำสั่งocc; พาธและบัญชีข้างต้นไม่ใช่สิ่งที่ใช้ได้กับทุกกรณี
คุณสามารถแก้ไขข้อมูลที่มีอยู่config/config.phpและเพิ่มรายการนี้ลงใน$CONFIGอาร์เรย์ได้เช่นกัน:
'overwrite.cli.url' => 'https://cloud.example.com',
อย่าสร้าง$CONFIGอาร์เรย์ที่สองหรือเขียนทับส่วนที่เหลือของไฟล์ คงเครื่องหมายจุลภาคท้ายไว้หากมีรายการอื่นตามมา ทำการสำรองข้อมูลไว้นอกconfigไดเร็กทอรีที่ใช้งานอยู่ก่อนทำการแก้ไขด้วยตนเอง Nextcloud อาจโหลดไฟล์เพิ่มเติมที่มีนามสกุล.config.php.NET จากไดเร็กทอรีนั้นเป็นค่าการกำหนดค่าแบบเรียลไทม์
รีเวิร์สพร็อกซีจะรับคำขอ HTTPS สาธารณะและส่งต่อไปยัง Nextcloud บางครั้งอาจส่งผ่าน HTTP ธรรมดาบนเครือข่ายส่วนตัว จากนั้น Nextcloud อาจเดา scheme, hostname หรือ path ผิดพลาดเมื่อสร้าง URL ของตัวเอง คู่มือการใช้งานรีเวิร์สพร็อกซีอย่างเป็นทางการแนะนำให้ใช้พารามิเตอร์ overwrite เฉพาะเมื่อการตรวจจับอัตโนมัติล้มเหลว และระบุที่อยู่พร็อกซีไว้ในส่วนtrusted_proxies<proxy>
สำหรับพร็อกซีที่10.0.0.1ให้บริการ Nextcloud ที่อยู่ ณ ที่อยู่ดังhttps://cloud.example.com/nextcloudกล่าว รายการที่เกี่ยวข้องจะมีลักษณะดังนี้ภายในอาร์เรย์การกำหนดค่าที่มีอยู่:
'trusted_proxies' => ['10.0.0.1'],
'overwriteprotocol' => 'https',
'overwritewebroot' => '/nextcloud',
'overwrite.cli.url' => 'https://cloud.example.com/nextcloud',
ใช้ที่อยู่จริงที่ Nextcloud มองเห็นสำหรับพร็อกซีและเส้นทางสาธารณะในการติดตั้งของคุณ สำหรับการติดตั้งแบบ root-domain ให้ละเว้นoverwritewebrootเว้นแต่ว่าการจัดเรียงพร็อกซีเฉพาะเจาะจงต้องการมัน Nextcloud ระบุว่าoverwritehostไม่จำเป็นในกรณีส่วนใหญ่ เนื่องจากสามารถอ่านโฮสต์ที่ส่งต่อโดยพร็อกซีได้ ตั้งค่าเฉพาะเมื่อคุณต้องบังคับใช้ชื่อโฮสต์เดียวเท่านั้น การตั้งค่าความเชื่อถือพร็อกซีหรือส่วนหัวที่ส่งต่อที่ไม่ถูกต้องอาจส่งผลต่อวิธีการตีความที่อยู่ IP ของไคลเอ็นต์ ดังนั้นอย่าคัดลอกที่อยู่ตัวอย่างโดยไม่ตรวจสอบโทโพโลยีของคุณก่อน
ทดสอบจากโฮสต์ Nextcloud หรือจากคอนเทนเนอร์ Nextcloud หากบริการทำงานใน Docker ก่อนอื่นให้ตรวจสอบการแก้ไขชื่อ จากนั้นทำการร้องขอ HTTPS:
getent ahosts cloud.example.com
curl -I https://cloud.example.com/status.php
ชื่อโฮสต์ควรแปลงเป็นที่อยู่ที่จะเข้าถึงได้ และคำขอควรส่งคืนการตอบสนอง HTTP จาก Nextcloud โดยไม่มีข้อผิดพลาดเกี่ยวกับใบรับรอง คำขอที่สำเร็จจากแล็ปท็อปของคุณไม่ได้พิสูจน์ว่าเซิร์ฟเวอร์สามารถเข้าถึง URL เดียวกันได้ เซิร์ฟเวอร์ภายในบ้านที่อยู่หลังเราเตอร์อาจล้มเหลวเมื่อพยายามเข้าถึงที่อยู่สาธารณะของตนเองจากภายใน LAN ซึ่งมักเรียกว่าปัญหา hairpin NAT หรือ NAT loopback กำหนดค่า split DNS เพื่อให้ชื่อโฮสต์สาธารณะเดียวกันแปลงเป็นที่อยู่ LAN ของ reverse proxy ภายใน หรือเปิดใช้งานพฤติกรรม loopback ที่รองรับโดยเราเตอร์ รักษา URL หลักให้เป็นสาธารณะเพื่อให้ลิงก์ที่ส่งไปยังผู้ใช้ระยะไกลยังคงใช้งานได้
อย่า "แก้ไข" ปัญหาใบรับรองโดยใช้curl -kเป็นหลักฐานว่า HTTPS ทำงานได้ปกติ ให้ติดตั้งหรือกำหนดค่าห่วงโซ่ใบรับรองที่ระบบหรือคอนเทนเนอร์ที่รัน Nextcloud เชื่อถือ จากนั้นทำการทดสอบซ้ำตามปกติ
หากหน้าผู้ดูแลระบบระบุอย่างชัดเจนว่า Nextcloud ไม่มีการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานได้ หรือไม่สามารถเข้าถึงปลายทางภายนอกหลายแห่งได้ การเปลี่ยนแปลงoverwrite.cli.urlเพียงอย่างเดียวจะไม่สามารถกู้คืนการเชื่อมต่ออินเทอร์เน็ตได้ ตรวจสอบการแก้ไข DNS และกฎไฟร์วอลล์ขาออกจากเซิร์ฟเวอร์ หากเครือข่ายของคุณต้องการพร็อกซี HTTP ให้กำหนดค่าการตั้งค่าพร็อกซี Nextcloud ที่รองรับ หรือสภาพแวดล้อมที่ใช้โดย PHP และงานเบื้องหลัง พร็อกซีที่ตั้งค่าไว้เฉพาะในเชลล์แบบโต้ตอบอาจไม่สามารถใช้งานได้กับงานที่กำหนดเวลาไว้
หลังจากที่ Nextcloud สามารถแก้ไขและเข้าถึง URL หลักได้แล้ว ให้โหลดหน้าภาพรวมการดูแลระบบใหม่อีกครั้ง ตรวจสอบให้แน่ใจว่าที่อยู่ใช้ชื่อโฮสต์ HTTPS ที่ถูกต้องและไดเร็กทอรีย่อยใดๆ จากนั้นสร้างลิงก์แชร์ทดสอบและตรวจสอบว่ามีโฮสต์ที่เข้าถึงได้เหมือนกัน หากคำเตือนเกี่ยวกับที่อยู่ขาออกหายไป แต่คำเตือนเกี่ยวกับการเชื่อมต่ออินเทอร์เน็ตยังคงอยู่ ให้ตรวจสอบการเข้าถึงขาออกแยกต่างหาก คู่มือการดูแลระบบฉบับปัจจุบันของ Nextcloud ได้บันทึกการตั้งค่า URL และพร็อกซีแบบย้อนกลับไว้แล้ว ข้อความบนหน้าจออาจแตกต่างกันไปตามเวอร์ชันและอินเทอร์เฟซที่แปลแล้ว
แก้ไขข้อความเตือน "ที่อยู่ขาออกหายไป" ของ Nextcloud โดยการตั้งค่า URL หลัก และตรวจสอบ DNS, HTTPS และการกำหนดเส้นทางพร็อกซีแบบย้อนกลับจากตัวเซิร์ฟเวอร์เอง
ตั้งค่า APCu และ Redis ผ่านซ็อกเก็ต Unix ในเครื่องเพื่อใช้ในการแคชและล็อกไฟล์ของ Nextcloud โดยมีขั้นตอนสำหรับ Nextcloud เวอร์ชันปัจจุบันและเวอร์ชันเก่า
ตรวจสอบโหมด cron ของ Nextcloud ซ่อมแซมบริการ systemd และตัวจับเวลา และตรวจสอบว่างานเบื้องหลังทำงานหลังจากเริ่มต้นระบบและทุกๆ ห้านาที
เปิดใช้งานการล็อกไฟล์ที่เชื่อถือได้ของ Nextcloud เลือกแบ็กเอนด์ Redis หรือ Valkey ที่เหมาะสม และตรวจสอบว่าคำเตือนหายไปโดยไม่มีความเสี่ยงต่อการเปลี่ยนแปลงไฟล์พร้อมกัน
แก้ไขปัญหาที่พบได้ทั่วไปในการสแกน Nextcloud ด้วยการอัปเดตล่าสุด, HTTPS และ HSTS, การตั้งค่าความน่าเชื่อถือของพร็อกซีแบบย้อนกลับอย่างแม่นยำ และการตรวจสอบกับเซิร์ฟเวอร์สาธารณะ
กำหนดค่า Nextcloud SSE สำหรับพื้นที่จัดเก็บข้อมูลที่ต้องการ ปกป้องคีย์การเข้ารหัส และวัดผลกระทบต่อการถ่ายโอนข้อมูลและ CPU ก่อนที่จะเข้ารหัสไฟล์ที่มีอยู่
เชื่อมต่อระบบค้นหาไฟล์ของ Nextcloud กับ Elasticsearch จัดทำดัชนีเนื้อหาเอกสาร และเลือกการตั้งค่าที่เหมาะสมกับเซิร์ฟเวอร์และความต้องการด้านความปลอดภัยของคุณ
ตั้งค่า Nextcloud ให้ลบไฟล์ที่ถูกลบหลังจากระยะเวลาการเก็บรักษาที่กำหนดไว้ กำหนดเวลาการทำงานเบื้องหลังอย่างน่าเชื่อถือ และหลีกเลี่ยงคำสั่งที่ล้างถังขยะของผู้ใช้ทุกคน
เรียกใช้ฟังก์ชันซ่อมแซม OCC ของ Nextcloud อย่างปลอดภัย ดูตัวอย่างการเปลี่ยนแปลงฐานข้อมูล และตรวจสอบว่าเหตุใดคำเตือนจึงยังคงปรากฏอยู่
อนุญาตให้ Nextcloud อัปโหลดไฟล์ขนาดใหญ่ขึ้นได้โดยการปรับการตั้งค่า PHP, Nginx หรือ Apache, พื้นที่จัดเก็บชั่วคราว และระยะเวลาหมดเวลาให้ตรงกัน และตรวจสอบว่าข้อจำกัดใดที่กำลังบล็อกไฟล์อยู่