เพิ่มส่วนหัว HSTS ที่ปลายทาง HTTPS ที่ให้บริการ Nextcloud
ล้างคำเตือน HSTS ของ Nextcloud โดยการตั้งค่าส่วนหัวที่ Apache, NGINX หรือพร็อกซี TLS ของคุณ จากนั้นตรวจสอบการตอบสนอง HTTPS สาธารณะอย่างปลอดภัย
คำเตือน “Strict-Transport-Security” ของ Nextcloud หมายความว่าการตรวจสอบไม่พบส่วนหัว HSTS ที่มีอายุmax-ageอย่างน้อย15552000180 วัน (วินาที) ในการตอบสนอง HTTPS สาธารณะ ให้เพิ่มส่วนหัวดังกล่าวที่เว็บเซิร์ฟเวอร์หรือพร็อกซีแบบย้อนกลับที่ให้บริการ HTTPS จากนั้นทดสอบ URL สาธารณะนั้นอีกครั้ง HSTS ไม่ใช่การตั้งค่าใน Nextcloud config.phpและการตอบสนอง HTTP ธรรมดาไม่สามารถสร้างนโยบาย HSTS ในเบราว์เซอร์ได้
Strict-Transport-Securityไม่ ส่งนโยบายที่กำหนดไว้ล่วงหน้าเพียงหนึ่งเดียวจากปลายทาง TLS ที่เปิดเผยต่อสาธารณะ ส่วนหัวที่ซ้ำกันหรือขัดแย้งกันจะทำให้การตรวจสอบสับสนincludeSubDomainsอย่าเปิดใช้งานpreloadเพื่อล้างคำเตือนนี้อย่างรวดเร็วHSTS แจ้งให้เบราว์เซอร์ทราบว่าการเชื่อมต่อกับชื่อโฮสต์ในอนาคตจะต้องใช้ HTTPS เท่านั้น ช่วยป้องกันการลดระดับไปใช้ HTTP หลังจากที่เบราว์เซอร์ได้รับนโยบายนี้แล้ว HSTS ไม่ได้มาแทนที่ TLS ไม่ได้แก้ไขใบรับรองที่ไม่ถูกต้อง หรือเปลี่ยนเส้นทางการเข้าชม HTTP ครั้งแรก ควรตั้งค่าการเปลี่ยนเส้นทาง HTTP ไปยัง HTTPS แยกต่างหากด้วย คู่มือการดูแลระบบของ Nextcloud 35 ระบุเวลาขั้นต่ำ 15552000 วินาที และแนะนำให้ตั้งค่าส่วนหัวในเว็บเซิร์ฟเวอร์ จุดบังคับใช้จริงในการใช้งานพร็อกซีคือส่วนประกอบที่ส่งการตอบกลับไปยังผู้เข้าชม
นโยบายเริ่มต้นแบบอนุรักษ์นิยมสำหรับชื่อโฮสต์ Nextcloud คือ:
Strict-Transport-Security: max-age=15552000
วิธีนี้ตรงตามข้อกำหนดระยะเวลาใช้งานขั้นต่ำของเอกสาร Nextcloud โดยไม่ต้องใช้การกำหนดนโยบายกับทุกโดเมนย่อยโดยอัตโนมัติ เมื่อคุณยืนยันแล้วว่าโดเมนย่อยที่เกี่ยวข้องทั้งหมดรองรับ HTTPS อย่างต่อเนื่อง คุณสามารถพิจารณาเพิ่ม `<http://www.nexcloud.com/next ; includeSubDomains...
สำหรับโฮสต์เสมือน Apache TLS ให้เปิดใช้งานmod_headersและวางคำสั่งไว้ภายในโฮสต์เสมือน HTTPS ไม่ใช่เฉพาะโฮสต์การเปลี่ยนเส้นทางพอร์ต 80 เท่านั้น:
<VirtualHost *:443>
ServerName cloud.example.com
# Keep the existing TLS and Nextcloud configuration here.
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000"
</IfModule>
</VirtualHost>
แทนที่ชื่อโฮสต์ตัวอย่างและคงใบรับรองและพร็อกซีหรือการกำหนดค่า PHP ที่มีอยู่ของคุณไว้ ตัวอย่างการเสริมความปลอดภัย Apache ของ Nextcloud ใช้Header always setกับโฮสต์เสมือน HTTPS ตรวจสอบความถูกต้องของการกำหนดค่า Apache ด้วยคำสั่ง config-test ที่รองรับโดยระบบปฏิบัติการของคุณ จากนั้นรีโหลด Apache เฉพาะเมื่อการทดสอบผ่านเท่านั้น
ใน NGINX ให้เพิ่มส่วนหัวภายในserverบล็อกที่รับฟังการเชื่อมต่อ HTTPS บนชื่อโฮสต์ Nextcloud สาธารณะ:
server {
listen 443 ssl;
server_name cloud.example.com;
# Keep your existing TLS and Nextcloud locations here.
add_header Strict-Transport-Security "max-age=15552000" always;
}
อย่าคัดลอกส่วนนี้ไปวางแทนที่การตั้งค่าเดิมของเซิร์ฟเวอร์ทั้งหมด การสืบทอดส่วนหัวของ NGINX อาจขึ้นอยู่กับว่าตำแหน่งย่อยกำหนดadd_headerคำสั่งเฉพาะของตนเองหรือไม่ โปรดตรวจสอบการตั้งค่าที่ใช้งานได้จริงและทดสอบการตอบสนองที่เป็นตัวอย่าง รวมถึงไฟล์คงที่และปลายทาง DAV ตัวอย่าง NGINX อย่างเป็นทางการของ Nextcloud มีการตั้งค่า HSTS ในการกำหนดค่า HTTPS และเตือนผู้ดูแลระบบเกี่ยวกับการเปิดใช้งานการโหลดล่วงหน้า
หากโหลดบาลานเซอร์ อินเกรส หรือพร็อกซีโฮสต์ยุติ HTTPS ก่อนส่งต่อทราฟฟิกไปยัง Nextcloud ให้ตั้งค่า HSTS ที่เลเยอร์ TLS สาธารณะนั้น เว้นแต่สถาปัตยกรรมของคุณจะเพิ่มไว้ที่อัปสตรีมที่เชื่อถือได้โดยเจตนา ส่วนหัวที่เพิ่มโดยแบ็กเอนด์เท่านั้นอาจถูกลบหรือแทนที่โดยพร็อกซี ในทางกลับกัน การตั้งค่าที่ทั้งสองเลเยอร์อาจทำให้เกิดค่าซ้ำกันได้ ตรวจสอบการกำหนดค่า response-header ของพร็อกซีและตรวจสอบให้แน่ใจว่าเส้นทาง HTTPS ของพร็อกซีนั้นเป็นเส้นทางที่กำลังทดสอบอยู่ รักษาการตั้งค่า trusted-proxy และ URL HTTPS ของ Nextcloud ให้สอดคล้องกับการปรับใช้ที่มีอยู่ แต่ห้ามใช้การตั้งค่าเหล่านั้นแทนการส่งส่วนหัว
curl -sSI https://cloud.example.com/มองหาStrict-Transport-Securityบรรทัดหนึ่งที่max-ageมีอย่าง15552000น้อยหากcurlไม่แสดงส่วนหัว HSTS ให้ตรวจสอบว่า DNS ชี้ไปยังปลายทางที่คุณแก้ไขแล้ว คำขอใช้ HTTPS และพร็อกซีไม่ได้ลบส่วนหัวออก หากส่วนหัวปรากฏในหน้าแรกแต่ไม่ปรากฏในข้อความตอบกลับอื่นๆ ให้ตรวจสอบคำสั่งระดับตำแหน่งของ NGINX หรือกฎส่วนหัวการตอบกลับของพร็อกซี หากการตอบกลับสาธารณะถูกต้อง แต่ Nextcloud ยังคงเตือน ให้ตรวจสอบว่าการตรวจสอบผู้ดูแลระบบใช้ชื่อโฮสต์และรูปแบบที่มองเห็นได้จากภายนอกเหมือนกัน จากนั้นตรวจสอบแคชหรือเลเยอร์พร็อกซีใดๆ ที่อยู่ระหว่างเซิร์ฟเวอร์และการตรวจสอบ
การตั้งค่า Preload เป็นตัวเลือกที่มีผลกระทบสูงและแยกต่างหาก คำสั่ง Preload นั้นไม่ได้ลงทะเบียนโดเมนโดยตรง รายการ Preload ของเบราว์เซอร์มีข้อกำหนดในการส่งข้อมูลของตนเอง คำแนะนำของเบราว์เซอร์ในปัจจุบันต้องการขั้นตอนการลงทะเบียนที่ยาวนานmax-ageNextcloud includeSubDomainsเตือนว่าการลบออกจากรายการ Preload ที่จัดส่งมาอาจใช้เวลาหลายเดือนกว่าจะถึงเบราว์เซอร์ที่ติดตั้งไว้ เริ่มต้นด้วยนโยบายพื้นฐาน ตรวจสอบชื่อโฮสต์ที่ได้รับผลกระทบทั้งหมด ยืนยันว่า HTTPS ทำงานได้ทั่วทั้งโดเมน และตรวจสอบข้อกำหนด Preload อย่างเป็นทางการก่อนที่จะนำไปใช้ ผู้ดูแลระบบ Nextcloud ส่วนใหญ่สามารถแก้ไขคำเตือนนี้ได้โดยไม่ต้องเลือกใช้ Preload
อ้างอิง: คำเตือนด้านความปลอดภัยของ Nextcloud 35 , คำแนะนำในการเสริมความแข็งแกร่งของ Nextcloud , การกำหนดค่า Nextcloud NGINXและ ข้อมูลอ้างอิงส่วนหัว HSTS ของ MDN
ล้างคำเตือน 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 ทั่วไป