FileZilla เป็นซอฟต์แวร์ฟรี มีสองเวอร์ชันคือ FileZilla Client และ FileZilla Server Client รองรับข้ามแพลตฟอร์มแต่ Server รองรับเฉพาะ Windows แอปพลิเคชันนี้ใช้สำหรับถ่ายโอนไฟล์ระหว่างคอมพิวเตอร์บนเครือข่าย อย่างไรก็ตาม ไม่กี่วันมานี้ มีรายงานมาจำนวนมากที่ผู้ใช้ประสบข้อผิดพลาด "Failed to Retrieve Directory Listing" ขณะพยายามเชื่อมต่อกับเซิร์ฟเวอร์
สาเหตุของข้อผิดพลาด "Failed to Retrieve Directory Listing" บน FileZilla
หลังจากได้รับรายงานจากผู้ใช้หลายราย เราได้สืบสวนปัญหาและคิดค้นชุดวิธีแก้ไขที่กำจัดปัญหาได้สำหรับผู้ใช้ส่วนใหญ่ นอกจากนี้ เรายังตรวจสอบสาเหตุที่ทำให้เกิดปัญหานี้และรายการสาเหตุทั่วไปด้านล่าง:
- Windows Firewall: ในกรณีส่วนใหญ่ FileZilla Server ทำงานได้ในเครื่องท้องถิ่นแต่ไม่ได้จากระยะไกล ทุกครั้งที่พยายามเชื่อมต่อในเครื่องท้องถิ่น ข้อผิดพลาดนี้จะถูกกระตุ้น เกิดจากการที่การเชื่อมต่อของ FileZilla ถูกบล็อกโดย Windows Firewall แม้ว่าจะเพิ่มข้อยกเว้นสำหรับพอร์ตเฉพาะใน Firewall แล้ว มันยังใช้ Passive Mode ในการส่งและรับไฟล์ ซึ่งทำงานบนพอร์ต TCP แบบสุ่ม ดังนั้นพอร์ตเหล่านี้ถูกบล็อกโดย Firewall และทำให้เกิดข้อผิดพลาด
- การเข้ารหัส: มีหลายประเภทของการเข้ารหัสการเชื่อมต่อที่คุณสามารถใช้ขณะพยายามเชื่อมต่อกับเซิร์ฟเวอร์ แม้ว่าบางอย่างจะปลอดภัยกว่าก็ตาม แต่ก็มักทำให้เกิดปัญหาแม้กับการเชื่อมต่อที่ถูกต้องโดยป้องกันไม่ให้ตั้งการเชื่อมต่อได้
ตอนนี้คุณเข้าใจลักษณะปัญหาแล้ว เราจะไปสู่วิธีแก้ไข โปรดดำเนินการตามวิธีที่นำเสนออย่างเฉพาะเจาะจงเพื่อหลีกเลี่ยงความขัดแย้ง
วิธีแก้ไขที่ 1: สร้างกฎ Firewall
หาก Firewall บล็อก FileZilla ไม่ให้ติดต่ออินเทอร์เน็ต มันจะไม่ทำงานได้อย่างถูกต้องและจะกระตุ้นข้อผิดพลาด ดังนั้นขั้นตอนนี้เราจะจำกัดพอร์ตสำหรับ FileZilla ก่อน แล้วค่อยเพิ่มข้อยกเว้นสำหรับพอร์ตเหล่านั้นใน Firewall ขั้นตอนดังนี้:
- เปิด FileZilla Server บนคอมพิวเตอร์ Server
- คลิก ที่ตัวเลือก Edit และเลือก Settings จากรายการ
- คลิก ที่ตัวเลือก Passive Mode Settings จากบานหน้าต่างด้านซ้าย และ ติ๊ก ตัวเลือก Use Custom Port Range
- ป้อน 2100 ในกล่องแรกและกล่องที่สอง
- คลิก OK เพื่อบันทึกการตั้งค่า
- กด Windows + I พร้อมกันเพื่อเปิด Settings
- คลิก Update & Security และเลือก Windows Security ในบานหน้าต่างด้านซ้าย
- คลิก ที่ตัวเลือก Firewall & Network Protection และเลือกปุ่ม Advanced Settings
- คลิกซ้าย ที่ตัวเลือก Inbound Rule แล้ว คลิกขวา อีกครั้ง
- เลือก New Rule จากรายการ
- ภายใต้หัวข้อ What Type of Rule you want to create ให้ ติ๊ก ตัวเลือก Port และคลิก Next
- ติ๊ก ตัวเลือก TCP และ ติ๊ก ตัวเลือก Specific Local Ports
- พิมพ์ 21,2100 ในช่องว่างและคลิก Next
หมายเหตุ: แทนที่ 21 ด้วยพอร์ตที่คุณเลือกขณะสร้างเซิร์ฟเวอร์ - ติ๊ก ตัวเลือก Allow Connection และคลิก Next
- ในหน้าจอถัดไป ให้ติ๊ก Private, Domain และ Public
- คลิก Next และป้อนชื่อที่คุณต้องการสำหรับกฎนี้
- คลิก Finish เพื่อเพิ่มกฎนี้
- ทำซ้ำ กระบวนการเดียวกันสำหรับ Outbound Rules เพื่อเพิ่มกฎเดียวกันสำหรับกฎขาออกด้วย
- เมื่อเพิ่มกฎเหล่านี้แล้ว ให้ ตรวจสอบ ว่าปัญหายังคงอยู่หรือไม่
วิธีแก้ไขที่ 2: เปลี่ยนการเข้ารหัส
เป็นไปได้ว่าการตั้งค่าการเข้ารหัสอาจเป็นสาเหตุ ดังนั้นขั้นตอนนี้เราจะเปลี่ยนการเข้ารหัสสำหรับการเชื่อมต่อ ขั้นตอนดังนี้:
- เปิด FileZilla Client บนคอมพิวเตอร์ Client
- คลิก File และเลือก Site Manager
- หากเซิร์ฟเวอร์ที่ต้องการเชื่อมต่อไม่อยู่ในรายการ ให้ เลือก New Site
- เพิ่ม hostname, username, และ password สำหรับการเชื่อมต่อ
- คลิก ที่ dropdown Logon Type และเลือก Normal
- คลิก ที่ dropdown Encryption และ เลือก Only use Plain FTP
- สร้าง การเชื่อมต่อและ ตรวจสอบ ว่าปัญหายังคงอยู่หรือไม่
วิธีแก้ไขที่ 3: เปลี่ยนการตั้งค่า FTP
ในบางกรณี การตั้งค่า FTP อาจไม่ได้ถูกกำหนดค่าอย่างถูกต้อง ทำให้เกิดข้อผิดพลาด ขั้นตอนนี้เราจะเปลี่ยนการตั้งค่า FTP บางอย่าง ขั้นตอนดังนี้:
- เปิด FileZilla Client บนคอมพิวเตอร์ Client
- คลิก Edit และเลือก Settings
- คลิก FTP ภายใต้ Connections และติ๊กตัวเลือก Active
- ติ๊ก Allow Fallback to other transfer modes on Failure
- คลิก Active Mode ภายใต้หัวข้อ FTP และติ๊กตัวเลือก Ask your operating system for External IP Address
- คลิก ตัวเลือก Passive Mode และติ๊กตัวเลือก Fall Back to Active Mode
- คลิก OK เพื่อบันทึกการตั้งค่าและ ตรวจสอบ ว่าปัญหายังคงอยู่หรือไม่
วิธีแก้ไขที่ 4: เปลี่ยน Host Name
บางครั้ง ขณะเชื่อมต่อกับโฮสต์เฉพาะ การเปลี่ยนโฮสต์เนมเพื่อเริ่มต้นโปรโตคอลบางอย่างอาจแก้ไขข้อผิดพลาดได้ ขั้นตอนนี้เราจะเปลี่ยนโฮสต์เนม ขั้นตอนดังนี้:
- เปิด FileZilla Client บนคอมพิวเตอร์ Client
- คลิก ที่ตัวเลือก Hostname
- ป้อน ข้อความต่อไปนี้ก่อน hostname จริงของเซิร์ฟเวอร์:
sftp://
- ป้อน รายละเอียดที่เหลือและ ตรวจสอบ ว่าปัญหายังคงอยู่หรือไม่