ข้อความ “การเชื่อมต่อถูกปฏิเสธ” ในแอป ownCloud บนมือถือมักบ่งชี้ถึงปัญหาการเชื่อมต่อก่อนที่การตรวจสอบสิทธิ์จะเริ่มต้นขึ้นด้วยซ้ำ กล่าวคือ โทรศัพท์เชื่อมต่อกับที่อยู่แล้ว แต่ไม่มีสิ่งใดตอบรับการเชื่อมต่อที่ปลายทางเครือข่ายที่ร้องขอ คำพูดที่แสดงอาจแตกต่างกันไปตามเวอร์ชันของ Android หรือ iOS ดังนั้นควรพิจารณาข้อความนี้เป็นเพียงอาการของปัญหา ไม่ใช่การวินิจฉัยโรค
นี่เป็นเพียงตัวอย่างสถานการณ์เท่านั้น:ลองนึกภาพบริษัทออกแบบขนาดเล็กชื่อ Northstar Studio พนักงานของบริษัทมักเชื่อมต่อhttps://cloud.example.com/owncloudผ่านแอปพลิเคชัน ownCloud บนมือถือ หลังจากเปลี่ยน reverse-proxy แล้ว โทรศัพท์หลายเครื่องแสดงข้อความว่า “การเชื่อมต่อถูกปฏิเสธ” ส่วนเว็บอินเทอร์เฟซของ ownCloud ยังคงใช้งานได้จากแล็ปท็อปของผู้ดูแลระบบภายในสำนักงาน แต่ใช้งานไม่ได้จากข้อมูลมือถือ สถานการณ์สมมตินี้จะถูกใช้ตลอดทั้งคู่มือเพื่อแสดงให้เห็นว่าขั้นตอนการแก้ไขปัญหาต่างๆ สอดคล้องกันอย่างไร นี่ไม่ใช่รายงานการใช้งานจริงหรือผลการทดสอบจริง
เริ่มต้นด้วยการระบุที่อยู่เซิร์ฟเวอร์ที่แอปมือถือพยายามเชื่อมต่ออย่างถูกต้อง การปฏิเสธจะเกิดขึ้นก่อนที่การเข้าสู่ระบบ ownCloud จะสำเร็จ
ขั้นแรก ให้แยกข้อความ “การเชื่อมต่อถูกปฏิเสธ” ออกจากข้อผิดพลาดในการเข้าสู่ระบบ
อย่าเริ่มต้นด้วยการรีเซ็ตรหัสผ่านของผู้ใช้ รหัสผ่านผิด โทเค็นหมดอายุ หรือปัญหา OAuth จะเกิดขึ้นหลังจากที่ไคลเอ็นต์สามารถสื่อสารกับเซิร์ฟเวอร์ได้แล้ว การเชื่อมต่อ TCP ที่ถูกปฏิเสธนั้นมักเกี่ยวข้องกับโฮสต์หรือพอร์ตที่ไม่ถูกต้อง เว็บเซิร์ฟเวอร์หรือพร็อกซีที่หยุดทำงาน กฎไฟร์วอลล์ หรือบริการที่รับฟังเฉพาะอินเทอร์เฟซภายในเท่านั้น
เอกสารประกอบการใช้งานมือถือของ ownCloud ในปัจจุบันยืนยันว่าแอปได้รับการกำหนดค่าด้วย URL ของเซิร์ฟเวอร์ ownCloud แล้ว เอกสารประกอบการใช้งาน WebDAV ของ ownCloud ยังระบุว่าแอปบนมือถือควรใช้ URL พื้นฐานและโฟลเดอร์ เช่นexample.com/owncloudแทนที่จะป้อนปลายทาง WebDAV ด้วยตนเอง ดูเอกสารประกอบการเข้าถึง WebDAV ของ ownCloud
1. ตรวจสอบ URL ในแอปพลิเคชันบนมือถือ
ในตัวอย่างของ Northstar URL ที่คาดหวังคือhttps://cloud.example.com/owncloudตรวจสอบส่วนประกอบทั้งสี่ส่วน: รูปแบบ (scheme), ชื่อโฮสต์ (hostname), พอร์ต (port) (ถ้ามี) และเส้นทาง (path) ข้อผิดพลาดที่พบบ่อย ได้แก่ การใช้http://เมื่อบริการสาธารณะรับฟังเฉพาะ HTTPS เท่านั้น การละเว้นพอร์ตที่ไม่ใช่มาตรฐาน การใช้ชื่อโฮสต์ภายในที่ไม่สามารถแก้ไขได้จากภายนอกสำนักงาน หรือการป้อนปลายทาง DAV แทนที่จะเป็น URL พื้นฐานของ ownCloud
เอกสารประกอบการใช้งาน Android ระบุว่าแอปจะทดสอบการเชื่อมต่อหลังจากป้อน URL เซิร์ฟเวอร์และข้อมูลประจำตัวแล้ว และแนะนำให้ใช้เซิร์ฟเวอร์ที่เปิดใช้งาน SSL เพื่อให้การเชื่อมต่อสามารถใช้ HTTPS ได้ เอกสารประกอบการใช้งาน iOS ก็ตรวจสอบ URL เซิร์ฟเวอร์ วิธีการตรวจสอบสิทธิ์ และใบรับรอง TLS ในลักษณะเดียวกันขณะเพิ่มบัญชี โปรดดูคู่มือการเชื่อมต่อ ownCloud สำหรับ Androidและคู่มือบัญชี ownCloud สำหรับ iOS
ลองเปิด URL เดียวกันในเบราว์เซอร์ของโทรศัพท์ดู หากเบราว์เซอร์ก็ใช้งานไม่ได้เช่นกัน ให้เน้นที่การเชื่อมต่อเครือข่ายและปลายทางของเว็บเซอร์วิสมากกว่าข้อมูลรับรองของแอป
2. ทดสอบ URL เดียวกันนอกแอปพลิเคชัน
บนโทรศัพท์ที่มีปัญหา ให้เปิด URL ของ ownCloud ในเบราว์เซอร์ นี่คือตัวชี้วัดที่สำคัญ หากเบราว์เซอร์สามารถโหลดหน้า ownCloud ได้ แต่แอปไม่สามารถทำได้ ให้ตรวจสอบใบรับรองเฉพาะแอป การเปลี่ยนเส้นทาง OAuth หรือการกำหนดค่าบัญชี หากทั้งเบราว์เซอร์และแอปใช้งานไม่ได้บนเครือข่ายเดียวกัน ให้ดำเนินการตรวจสอบเซิร์ฟเวอร์และเครือข่ายต่อไป
ควรทดสอบจากเครือข่ายมากกว่าหนึ่งเครือข่ายด้วย ในกรณีตัวอย่าง Northstar ของเรา Wi-Fi ในสำนักงานใช้งานได้ แต่ข้อมูลมือถือใช้งานไม่ได้ นั่นแสดงว่าปัญหาน่าจะเกิดจาก DNS สาธารณะ ไฟร์วอลล์ NAT หรือการเปิดเผยข้อมูลผ่าน Reverse Proxy มากกว่าปัญหาเกี่ยวกับชื่อผู้ใช้ ownCloud
3. ตรวจสอบว่าเอนด์พอยต์สาธารณะนั้นเปิดใช้งานอยู่จริงหรือไม่
จากเครื่องที่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ได้ ให้ทดสอบ URL และซ็อกเก็ตการรับฟัง คำสั่งต่างๆ เช่น ต่อไปนี้เป็นจุดเริ่มต้นที่มีประโยชน์:
curl -I https://cloud.example.com/owncloud
sudo ss -tlnp | grep -E ':80|:443'
การตอบสนอง HTTP ที่ประสบความสำเร็จไม่จำเป็นต้องเป็น200เช่นนั้นเสมอไป การเปลี่ยนเส้นทางก็สามารถพิสูจน์ได้ว่าเว็บเซอร์วิสกำลังตอบสนองอยู่ ความแตกต่างที่สำคัญคือการเชื่อมต่อ TCP ได้รับการยอมรับหรือไม่ หากไม่มีสิ่งใดรอรับการเชื่อมต่อบนพอร์ตสาธารณะที่คาดไว้ ให้แก้ไขปัญหานั้นก่อนที่จะเปลี่ยนการตั้งค่าแอปพลิเคชัน ownCloud
การตรวจสอบฝั่งเซิร์ฟเวอร์สามารถยืนยันได้ว่า HTTPS ตอบสนองหรือไม่ และมีกระบวนการใดกำลังรอรับการเชื่อมต่ออยู่ที่พอร์ต 443 หรือไม่
4. ตรวจสอบเว็บเซิร์ฟเวอร์หรือรีเวิร์สพร็อกซี
การใช้งาน ownCloud จำนวนมากมักติดตั้ง Apache, NGINX, HAProxy, Traefik หรือพร็อกซีอื่นๆ ไว้ด้านหน้าแอปพลิเคชัน ตรวจสอบให้แน่ใจว่าบริการที่เข้าถึงได้จากภายนอกทำงานอยู่ ผูกกับอินเทอร์เฟซที่ต้องการ และส่งต่อทราฟฟิกไปยังแบ็กเอนด์ ownCloud จริงๆ พร็อกซีที่หยุดทำงาน ผูกกับเฉพาะ127.0.0.1หรือกำหนดค่าสำหรับพอร์ตอัปสตรีมที่ไม่ถูกต้อง อาจทำให้เกิดการปฏิเสธทันที
ownCloud ได้อธิบายเกี่ยวกับพร็อกซีแบบย้อนกลับไว้อย่างชัดเจน และกำหนดให้ต้องกำหนดค่าที่อยู่พร็อกซีที่ ownCloud ควรเชื่อถือไว้ในไฟล์ `configuration.proxy` trusted_proxiesนอกจากนี้ยังได้อธิบายการตั้งค่าการเขียนทับในกรณีที่การตรวจจับชื่อโฮสต์ โปรโตคอล หรือเว็บรูทอัตโนมัติล้มเหลวเมื่ออยู่หลังพร็อกซี โปรดดูคู่มือการกำหนดค่าพร็อกซีแบบย้อนกลับของ ownCloud
เมื่อมีพร็อกซีอยู่ด้านหน้า ownCloud โปรดตรวจสอบทั้งตัวรับฟังที่เชื่อมต่อกับอินเทอร์เน็ตและเส้นทางจากพร็อกซีไปยังแบ็กเอนด์ของ ownCloud
5. ตรวจสอบไฟร์วอลล์, NAT และเส้นทางเครือข่าย
หาก HTTPS ใช้งานได้บนเซิร์ฟเวอร์ แต่ใช้งานไม่ได้จากโทรศัพท์ที่อยู่นอกเครือข่าย LAN ให้ตรวจสอบไฟร์วอลล์ของโฮสต์ กลุ่มความปลอดภัยบนคลาวด์ เราเตอร์ หรือกฎ NAT และไฟร์วอลล์ขององค์กรต้นทาง สำหรับการใช้งาน HTTPS ทั่วไป พอร์ต TCP 443 ต้องสามารถเข้าถึงได้จากที่อยู่สาธารณะ หากคุณตั้งใจใช้พอร์ตที่กำหนดเอง พอร์ตนั้นจะต้องถูกเปิดเผยและรวมอยู่ใน URL ด้วย
อย่าปิดใช้งานไฟร์วอลล์เพื่อแก้ไขปัญหาอย่างถาวร แต่ให้ระบุ Listener ที่จำเป็นและอนุญาตเฉพาะทราฟฟิกที่การออกแบบของคุณต้องการเท่านั้น ในกรณีของ Northstar คำถามที่สำคัญไม่ใช่ “ไฟร์วอลล์เปิดอยู่หรือไม่” แต่เป็น “ไคลเอ็นต์ภายนอกสามารถเข้าถึงที่อยู่และพอร์ตที่เผยแพร่สำหรับ ownCloud ได้หรือไม่”
การสลับไปมาระหว่าง Wi-Fi และข้อมูลมือถือเป็นวิธีที่ใช้ได้จริงในการตรวจสอบว่าปัญหาเกิดจากเครือข่ายใดเครือข่ายหนึ่งหรือไม่
6. ตรวจสอบใบรับรอง TLS และการเปลี่ยนเส้นทางหลังจากที่สามารถเข้าถึงพอร์ตได้แล้ว
ปัญหาเกี่ยวกับใบรับรองนั้นแตกต่างจากการปฏิเสธ TCP โดยตรง แต่ปัญหานี้มักปรากฏขึ้นทันทีหลังจากที่คุณแก้ไขปัญหาการเข้าถึงได้แล้ว เอกสารประกอบการใช้งาน iOS ในปัจจุบันระบุว่าแอปจะตรวจสอบใบรับรอง TLS เมื่อเพิ่มเซิร์ฟเวอร์และอนุญาตให้ผู้ใช้ตรวจสอบรายละเอียดของใบรับรองได้ เอกสารประกอบการใช้งาน Android ยังอธิบายถึงคำเตือนสำหรับใบรับรองที่ไม่สามารถตรวจสอบได้อีกด้วย
ควรใช้ใบรับรองที่มีชื่อโฮสต์ตรงกับชื่อโฮสต์สาธารณะของ ownCloud และมีห่วงโซ่ใบรับรองที่อุปกรณ์เชื่อถือได้ทุกครั้งที่ทำได้ นอกจากนี้ ควรตรวจสอบการเปลี่ยนเส้นทาง HTTP เป็น HTTPS ด้วย เอกสารด้านความปลอดภัยของ iOS ระบุว่าการเปลี่ยนเส้นทางระหว่างการเข้าสู่ระบบจะไม่ถูกดำเนินการโดยอัตโนมัติ ผู้ใช้จะต้องอนุมัติการเปลี่ยนเส้นทางเหล่านั้น ดูเอกสารด้านความปลอดภัยของ ownCloud สำหรับ iOSเพิ่มเติม
หลังจากตรวจสอบการเชื่อมต่อและ TLS เรียบร้อยแล้ว แอปพลิเคชันบนมือถือควรจะสามารถดำเนินการต่อจากขั้นตอนการตรวจสอบการเชื่อมต่อกับเซิร์ฟเวอร์เบื้องต้นได้
7. ยืนยันโดเมนที่เชื่อถือได้ของ ownCloud และการจัดการ URL พร็อกซี
เมื่อเว็บเซิร์ฟเวอร์ยอมรับการเชื่อมต่อแล้ว ให้ตรวจสอบว่า ownCloud รู้จักชื่อโฮสต์ที่โทรศัพท์ใช้หรือไม่ ownCloud ต้องการให้ URL ที่ใช้ในการเข้าถึงเซิร์ฟเวอร์ได้รับอนุญาตtrusted_domainsซึ่งมีความสำคัญเมื่อคุณเพิ่มชื่อโฮสต์สาธารณะใหม่ ย้ายบริการ หรือเปิดเผยการติดตั้งภายในก่อนหน้านี้
สำหรับการติดตั้งแบบคลาสสิก ให้ตรวจสอบการตั้งค่าแทนที่จะแก้ไขโดยไม่ตรวจสอบให้ดี คุณสามารถใช้คำสั่งต่อไปนี้occเพื่ออ่านโดเมนที่กำหนดค่าไว้:
sudo -u www-data ./occ config:system:get trusted_domains
หากไม่มีชื่อโฮสต์สาธารณะ ให้เพิ่มโดยใช้occ config:system:setไวยากรณ์ที่ระบุไว้สำหรับดัชนีอาร์เรย์ที่ไม่ได้ใช้งาน เอกสารอ้างอิงคำสั่งอย่างเป็นทางการมีอยู่ในเอกสารคำสั่ง ownCloud occ สำหรับการใช้งานคอนเทนเนอร์ เอกสาร ownCloud ปัจจุบันได้เปิดเผยการตั้งค่าที่เกี่ยวข้อง กับโดเมนและพร็อกซีที่เทียบเท่ากันผ่านตัวแปรสภาพแวดล้อม เช่นOWNCLOUD_TRUSTED_DOMAINSและOWNCLOUD_TRUSTED_PROXIES
โดเมนที่เชื่อถือได้และการตั้งค่าการเขียนทับจะมีความสำคัญหลังจากที่สามารถเข้าถึงปลายทางเครือข่ายได้ โดยเฉพาะอย่างยิ่งเมื่ออยู่เบื้องหลังพร็อกซีแบบย้อนกลับ
8. ทดสอบซ้ำจากโทรศัพท์เครื่องเดิมและเปรียบเทียบผลลัพธ์
กลับไปยังอุปกรณ์ที่ได้รับผลกระทบและทดสอบตามลำดับที่กำหนด: ขั้นแรก โหลด URL ในเบราว์เซอร์ จากนั้นเพิ่มหรือเชื่อมต่อบัญชี ownCloud อีกครั้ง จากนั้นเปิดมุมมองไฟล์และยืนยันว่ารายการไดเร็กทอรีปรากฏขึ้น ทำซ้ำหนึ่งครั้งบน Wi-Fi และอีกครั้งบนข้อมูลมือถือ หากต้องการให้บริการใช้งานได้ทั้งสองแบบ
ในตัวอย่างของ Northstar สมมติว่าผู้ดูแลระบบพบว่า reverse proxy ตัวใหม่กำลังรับฟังอยู่ที่พอร์ต 443 เฉพาะบนอินเทอร์เฟซส่วนตัวเท่านั้น การผูก listener สาธารณะอย่างถูกต้องจะอธิบายได้ว่าทำไมการเข้าถึงจากสำนักงานจึงใช้งานได้ในขณะที่การเข้าถึงผ่านเครือข่ายมือถือถูกปฏิเสธ นี่เป็นเพียงตัวอย่างของกระบวนการให้เหตุผล ไม่ใช่ข้อกล่าวอ้างเกี่ยวกับเหตุการณ์จริงของ ownCloud
การตรวจสอบขั้นสุดท้ายที่มีประโยชน์คือ ทั้งเว็บอินเทอร์เฟซและแอปพลิเคชันบนมือถือสามารถเข้าถึงเซิร์ฟเวอร์เดียวกันและแสดงโครงสร้างลำดับชั้นของไฟล์ตามที่คาดหวังไว้ได้
ตารางการวินิจฉัยอย่างรวดเร็ว
| สิ่งที่คุณสังเกตเห็น | การตรวจสอบครั้งต่อไปที่มีประโยชน์ที่สุด |
| ทั้งแอปและเบราว์เซอร์บนโทรศัพท์ถูกปฏิเสธ | ชื่อโฮสต์สาธารณะ, พอร์ต, ตัวรับฟัง, ไฟร์วอลล์, NAT, บริการพร็อกซี |
| ใช้งานได้ผ่าน Wi-Fi แต่ไม่สามารถใช้งานได้ผ่านข้อมูลมือถือ | เซิร์ฟเวอร์ DNS สาธารณะ และเส้นทางไฟร์วอลล์/NAT/พร็อกซีที่เชื่อมต่อกับอินเทอร์เน็ต |
| เบราว์เซอร์ทำงานได้ แต่แอปหยุดทำงานที่ขั้นตอนการตรวจสอบใบรับรอง | ชื่อโฮสต์ TLS, ห่วงโซ่ใบรับรอง, การเปลี่ยนเส้นทาง |
| เซิร์ฟเวอร์ตอบกลับ แต่ ownCloud ปฏิเสธโฮสต์ | trusted_domainsและการตั้งค่าการเขียนทับพร็อกซีแบบย้อนกลับ |
| การเชื่อมต่อสำเร็จ แต่การเข้าสู่ระบบล้มเหลว | ข้อมูลประจำตัว, OAuth2, การตรวจสอบสิทธิ์แบบสองปัจจัย หรือนโยบายโทเค็น |
สิ่งที่ไม่ควรเปลี่ยนแปลงเป็นอันดับแรก
อย่าเปลี่ยนรหัสผ่าน การตั้งค่าฐานข้อมูล สิทธิ์การเข้าถึงไฟล์ หรือข้อจำกัดหน่วยความจำ PHP เพียงเพราะแอปมือถือแสดงข้อความว่า “การเชื่อมต่อถูกปฏิเสธ” การตั้งค่าเหล่านั้นอาจมีความสำคัญสำหรับความล้มเหลวอื่นๆ ของ ownCloud แต่ไม่ใช่สิ่งแรกที่ควรตรวจสอบเมื่อไคลเอนต์ไม่สามารถสร้างการเชื่อมต่อเครือข่ายได้เลย ในทำนองเดียวกัน อย่าข้ามคำเตือนเกี่ยวกับใบรับรองอย่างถาวรเพื่อทดแทนการแก้ไขการกำหนดค่า TLS สาธารณะ
รายการตรวจสอบการยืนยันขั้นสุดท้าย
- โทรศัพท์ใช้ URL พื้นฐานของ ownCloud ตามที่ตั้งใจไว้ รวมถึงรูปแบบที่ถูกต้อง ชื่อโฮสต์ เส้นทาง และพอร์ตที่ไม่ใช่มาตรฐานหากมี
- ชื่อโฮสต์แสดงผลได้อย่างถูกต้องจากเครือข่ายที่โทรศัพท์เชื่อมต่ออยู่
- เว็บเซิร์ฟเวอร์สาธารณะหรือรีเวิร์สพร็อกซี กำลังรอรับการเชื่อมต่อบนพอร์ต TCP ที่คาดไว้
- โฮสต์ คลาวด์ เราเตอร์ และไฟร์วอลล์ต้นทาง อนุญาตให้ทราฟฟิกที่ต้องการผ่านไปได้
- รีเวิร์สพร็อกซีสามารถเข้าถึงแบ็กเอนด์ของ ownCloud ได้
- ใบรับรอง TLS เหมาะสำหรับชื่อโฮสต์สาธารณะและอุปกรณ์ยอมรับแล้ว
- ชื่อโฮสต์ปรากฏอยู่ในส่วนการตั้งค่าโดเมนที่เชื่อถือได้ของ ownCloud แล้ว
- ทั้งเว็บอินเทอร์เฟซและแอปพลิเคชันบนมือถือสามารถใช้งานได้จากทุกเครือข่ายที่ระบบรองรับ
ณ เดือนตุลาคม 2026 ownCloud ได้เผยแพร่เอกสารประกอบการใช้งานปัจจุบันสำหรับเซิร์ฟเวอร์ Classic และแอปพลิเคชันมือถือ Android และ iOS แยกต่างหาก ป้ายกำกับและหน้าจออาจเปลี่ยนแปลงไปในแต่ละเวอร์ชันของแอป ดังนั้นให้ใช้ลำดับการแก้ไขปัญหาข้างต้นเป็นวิธีการที่เชื่อถือได้: ตรวจสอบการเชื่อมต่อเครือข่ายก่อน จากนั้นตรวจสอบการทำงานของพร็อกซีและ TLS และหลังจากนั้นจึงค่อยเข้าไปที่การตั้งค่าแอปพลิเคชันและการตรวจสอบสิทธิ์ของ ownCloud