ตั้งค่า URL สาธารณะของ Nextcloud เพื่อให้สามารถเข้าถึงได้ด้วยตัวเอง

ตั้งค่า URL พื้นฐานหลักของ Nextcloud ให้เป็นที่อยู่ที่ผู้ใช้ใช้งานจริง จากนั้นตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ Nextcloud สามารถแก้ไขและเชื่อมต่อกับที่อยู่นั้นได้ สำหรับการติดตั้ง HTTPS ทั่วไป การตั้งค่าที่สำคัญคือoverwrite.cli.url; หาก Nextcloud อยู่เบื้องหลังพร็อกซีแบบย้อนกลับ ให้แก้ไขโปรโตคอลที่ส่งต่อหรือเว็บรูทเฉพาะเมื่อการตั้งค่าของคุณต้องการเท่านั้น

คำเตือนที่ระบุว่า “เซิร์ฟเวอร์ไม่มีที่อยู่สำหรับเชื่อมต่อออก” อาจหมายถึง Nextcloud ไม่สามารถสร้างหรือตรวจสอบที่อยู่กลับไปยังเว็บเซอร์วิสของตนเองได้ ในเอกสารประกอบการใช้งาน Nextcloud ปัจจุบัน การตรวจสอบการตั้งค่าหลายอย่างกำหนดให้เว็บเซิร์ฟเวอร์ต้องเข้าถึงโดเมนที่เชื่อถือได้หรือโดเมนที่กำหนดค่าไว้overwrite.cli.urlซึ่งแตกต่างจากคำเตือนทั่วไปที่ว่า “การเชื่อมต่ออินเทอร์เน็ตใช้งานไม่ได้” ซึ่งมักหมายถึง DNS ขาออก ไฟร์วอลล์ หรือการเข้าถึงพร็อกซีไปยังบริการภายนอก

Nextcloud ควรใช้ URL ใด

เลือก URL ที่เสถียรซึ่งผู้ใช้ของคุณป้อนเป็นประจำ ตัวอย่างเช่น หากผู้ใช้เปิด ให้https://cloud.example.comใช้รูปแบบและชื่อโฮสต์นั้น หากการติดตั้งให้บริการจากไดเร็กทอรีย่อย เช่นhttps://example.com/nextcloudให้รวม/nextcloudใน URL พื้นฐาน หลีกเลี่ยงการใช้localhostหรือชื่อคอนเทนเนอร์ส่วนตัวเป็น URL หลักเมื่อลิงก์ที่สร้างขึ้นต้องใช้งานได้สำหรับบุคคลภายนอกเครื่องนั้น

Nextcloud ใช้overwrite.cli.urlURL นี้เป็น URL พื้นฐานหลักเมื่อสร้างลิงก์นอกเหนือจากการร้องขอผ่านเบราว์เซอร์ตามปกติ รวมถึงบริบทของบรรทัดคำสั่งและการทำงานเบื้องหลัง ดังนั้นจึงเป็นการตั้งค่าที่เหมาะสมเมื่อเกิดคำเตือนหรือลิงก์เสียเนื่องจาก URL ที่ไม่ถูกต้องซึ่งถูกอนุมานระหว่างการติดตั้ง

ตั้งค่า URL ฐานหลัก (canonical base 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 จากไดเร็กทอรีนั้นเป็นค่าการกำหนดค่าแบบเรียลไทม์

จะเกิดอะไรขึ้นเมื่อ Nextcloud อยู่เบื้องหลัง Reverse Proxy?

รีเวิร์สพร็อกซีจะรับคำขอ 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 ของไคลเอ็นต์ ดังนั้นอย่าคัดลอกที่อยู่ตัวอย่างโดยไม่ตรวจสอบโทโพโลยีของคุณก่อน

เซิร์ฟเวอร์สามารถเข้าถึง URL นั้นจากภายในเครือข่ายของตัวเองได้หรือไม่?

ทดสอบจากโฮสต์ 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 และพร็อกซีแบบย้อนกลับไว้แล้ว ข้อความบนหน้าจออาจแตกต่างกันไปตามเวอร์ชันและอินเทอร์เฟซที่แปลแล้ว

ข้อมูลอ้างอิงอย่างเป็นทางการ

ฝากความเห็น

ตั้งค่า URL สาธารณะของ Nextcloud เพื่อให้สามารถเข้าถึงได้ด้วยตัวเอง

แก้ไขข้อความเตือน "ที่อยู่ขาออกหายไป" ของ Nextcloud โดยการตั้งค่า URL หลัก และตรวจสอบ DNS, HTTPS และการกำหนดเส้นทางพร็อกซีแบบย้อนกลับจากตัวเซิร์ฟเวอร์เอง

ตั้งค่า Nextcloud Redis Caching บน Ubuntu 24.04

ตั้งค่า Nextcloud Redis Caching บน Ubuntu 24.04

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

ตั้งค่าให้ Nextcloud Cron ทำงานโดยอัตโนมัติด้วย Systemd Timer

ตรวจสอบโหมด cron ของ Nextcloud ซ่อมแซมบริการ systemd และตัวจับเวลา และตรวจสอบว่างานเบื้องหลังทำงานหลังจากเริ่มต้นระบบและทุกๆ ห้านาที

ล้างคำเตือนการล็อกไฟล์ของ Nextcloud ด้วย Redis

เปิดใช้งานการล็อกไฟล์ที่เชื่อถือได้ของ Nextcloud เลือกแบ็กเอนด์ Redis หรือ Valkey ที่เหมาะสม และตรวจสอบว่าคำเตือนหายไปโดยไม่มีความเสี่ยงต่อการเปลี่ยนแปลงไฟล์พร้อมกัน

สิ่งที่ต้องทำเพื่อให้ได้คะแนนความปลอดภัยระดับ A+ บน Nextcloud

สิ่งที่ต้องทำเพื่อให้ได้คะแนนความปลอดภัยระดับ A+ บน Nextcloud

แก้ไขปัญหาที่พบได้ทั่วไปในการสแกน Nextcloud ด้วยการอัปเดตล่าสุด, HTTPS และ HSTS, การตั้งค่าความน่าเชื่อถือของพร็อกซีแบบย้อนกลับอย่างแม่นยำ และการตรวจสอบกับเซิร์ฟเวอร์สาธารณะ

เปิดใช้งานการเข้ารหัสฝั่งเซิร์ฟเวอร์ของ Nextcloud พร้อมวัดผลกระทบ

กำหนดค่า Nextcloud SSE สำหรับพื้นที่จัดเก็บข้อมูลที่ต้องการ ปกป้องคีย์การเข้ารหัส และวัดผลกระทบต่อการถ่ายโอนข้อมูลและ CPU ก่อนที่จะเข้ารหัสไฟล์ที่มีอยู่

เพิ่มระบบค้นหาข้อความเต็มรูปแบบ Elasticsearch ลงใน Nextcloud

เชื่อมต่อระบบค้นหาไฟล์ของ Nextcloud กับ Elasticsearch จัดทำดัชนีเนื้อหาเอกสาร และเลือกการตั้งค่าที่เหมาะสมกับเซิร์ฟเวอร์และความต้องการด้านความปลอดภัยของคุณ

ตั้งค่านโยบายการหมดอายุที่เชื่อถือได้สำหรับไฟล์ที่ถูกลบใน Nextcloud

ตั้งค่านโยบายการหมดอายุที่เชื่อถือได้สำหรับไฟล์ที่ถูกลบใน Nextcloud

ตั้งค่า Nextcloud ให้ลบไฟล์ที่ถูกลบหลังจากระยะเวลาการเก็บรักษาที่กำหนดไว้ กำหนดเวลาการทำงานเบื้องหลังอย่างน่าเชื่อถือ และหลีกเลี่ยงคำสั่งที่ล้างถังขยะของผู้ใช้ทุกคน

ล้างคำเตือนเกี่ยวกับดัชนีฐานข้อมูลที่หายไปของ Nextcloud

ล้างคำเตือนเกี่ยวกับดัชนีฐานข้อมูลที่หายไปของ Nextcloud

เรียกใช้ฟังก์ชันซ่อมแซม OCC ของ Nextcloud อย่างปลอดภัย ดูตัวอย่างการเปลี่ยนแปลงฐานข้อมูล และตรวจสอบว่าเหตุใดคำเตือนจึงยังคงปรากฏอยู่

เพิ่มขีดจำกัดการอัปโหลดเว็บของ Nextcloud ให้เกิน 2 GB

เพิ่มขีดจำกัดการอัปโหลดเว็บของ Nextcloud ให้เกิน 2 GB

อนุญาตให้ Nextcloud อัปโหลดไฟล์ขนาดใหญ่ขึ้นได้โดยการปรับการตั้งค่า PHP, Nginx หรือ Apache, พื้นที่จัดเก็บชั่วคราว และระยะเวลาหมดเวลาให้ตรงกัน และตรวจสอบว่าข้อจำกัดใดที่กำลังบล็อกไฟล์อยู่