وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

فایل‌زیلا وصل می‌شود اما پوشه‌ها را نشان نمی‌دهد؛ رفع خطای Directory Listing

تشخیص وصل‌شدن FTP بدون نمایش فایل‌ها، تنظیم Passive در FileZilla و بررسی امن درگاه داده و NAT سرور.

انتشار:
توسط تیم فنی نت‌آرام
۷ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله فایل‌زیلا وصل می‌شود اما پوشه‌ها را نشان نمی‌دهد؛ رفع خطای Directory Listing در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
نام کاربری و رمز را در FileZilla وارد می‌کنید، پیام ورود موفق دیده می‌شود، اما سمت سرور خالی می‌ماند و خطای Failed to retrieve directory listing ظاهر می‌شود. ورود موفق فقط نشان می‌دهد ارتباط اولیه برقرار شده است؛ در FTP بازشدن فهرست پوشه‌ها و انتقال فایل به اتصال داده جداگانه‌ای هم نیاز دارد.
در این راهنما مشخص می‌کنیم آیا مسئله از روش اتصال، شبکه، مسیر پوشه یا تنظیم سرور است و قدم‌های عملی برای رفع آن را توضیح می‌دهیم. مسیر منوها در نسخه‌های مختلف FileZilla ممکن است اندکی فرق داشته باشد.

قبل از هر چیز نوع اتصال را مشخص کنید

در FileZilla از File ← Site Manager تنظیم سایت را باز کنید و نوع پروتکل را ببینید. FTP با TLS که معمولاً FTPS نامیده می‌شود با SFTP روی SSH یکی نیست. تنظیم passive و بازه پورت داده که در این مقاله توضیح می‌دهیم مخصوص FTP است و برای SFTP به همان شکل استفاده نمی‌شود.
نام سرور، پورت و روش رمزگذاری را از بخش تنظیمات حساب FTP یا اطلاعات رسمی ارائه‌دهنده بردارید. برای FTP معمولی با TLS صریح اغلب پورت فرمان ۲۱ استفاده می‌شود، اما سرویس شما ممکن است تنظیم دیگری داشته باشد. به‌خاطر رفع خطا، رمزگذاری را به FTP بدون حفاظت تغییر ندهید و هشدار گواهی نامعتبر را بدون بررسی تأیید نکنید. اگر سرویس SFTP مجاز ارائه می‌دهد، می‌توانید طبق اطلاعات همان سرویس اتصال امن جداگانه‌ای بسازید؛ حساب و پورت آن الزاماً با حساب FTP یکسان نیست.
اگر پیام قبل از ورود مربوط به رمز، گواهی یا نرسیدن به سرور است، ابتدا همان مشکل را حل کنید. این راهنما فرض می‌کند ورود انجام شده و مشکل در فهرست‌کردن یا انتقال داده ظاهر می‌شود.

قدم اول: متن گزارش را با اطلاعات حساس حذف‌شده بخوانید

در بالای پنجره FileZilla پیام‌ها به ترتیب ثبت می‌شوند. زمان اتصال، نام سرور، موفقیت ورود و آخرین خطا قبل از قطع را یادداشت کنید. پیام‌هایی درباره اتصال داده، زمان انتظار یا ناموفق‌بودن فهرست می‌توانند سرنخ باشند. کل گزارش را بدون بازبینی منتشر نکنید؛ نام حساب، IP، مسیرها و داده حساس ممکن است در آن دیده شوند. رمز را هرگز نفرستید.
یک بار با اینترنت یا شبکه مجاز دیگری امتحان کنید. اگر همان حساب روی شبکه دوم پوشه را باز می‌کند ولی روی شبکه اول نه، تفاوت فایروال، NAT یا سیاست شبکه اول محتمل است. اگر هیچ شبکه‌ای موفق نیست، تنظیم سمت سرور یا مسیر حساب نیز باید بررسی شود. یک آزمون موفق یا ناموفق به‌تنهایی محل دقیق خرابی را قطعی ثابت نمی‌کند.

قدم دوم: حالت Passive را در FileZilla آزمایش کنید

در Site Manager سایت موردنظر را انتخاب کنید. به زبانه Transfer Settings بروید و در بخش Transfer mode گزینه Passive را انتخاب کنید. ذخیره کنید، اتصال قبلی را ببندید و دوباره با همان تنظیمات امن وصل شوید. اگر فهرست پوشه‌ها باز شد، یک فایل آزمایشی کوچک و غیرحساس را در مسیر مجاز بارگذاری و سپس دریافت و مقایسه کنید.
در حالت passive، برنامه کاربر اتصال داده را نیز به سرور آغاز می‌کند؛ در حالت active مسیر برقراری اتصال داده متفاوت است و شبکه‌های دارای NAT یا فایروال ممکن است آن را مسدود کنند. راهنمای رسمی حالت passive سی‌پنل تفاوت این دو را توضیح می‌دهد. اگر passive نیز کار نکرد، بارها میان حالت‌ها جابه‌جا نشوید؛ نتیجه را یادداشت و به مرحله بعد بروید.

قدم سوم: مسیر و مجوز حساب را بررسی کنید

در سی‌پنل به Files ← FTP Accounts بروید و حساب مرتبط را پیدا کنید. بخش Directory نشان می‌دهد حساب از کدام پوشه شروع می‌کند و تا کجا دسترسی دارد. پوشه خالی ممکن است واقعاً خالی یا متفاوت از پوشه سایت باشد؛ الزاماً به معنی حذف فایل‌ها نیست. اگر حساب فقط به یک مسیر محدود شده، برای دیدن پوشه خارج از آن نباید محدودیت را بدون مجوز مالک دور زد.
اگر فهرست بعضی پوشه‌ها دیده می‌شود اما یکی با پیام دسترسی رد می‌شود، مجوز و مالکیت همان مسیر را در File Manager و با سیاست سرویس بررسی کنید. بازکردن مجوز همه فایل‌ها به حالت عمومی یا استفاده از 777 راه‌حل امنی نیست. راهنمای خطای دسترسی هنگام بارگذاری SFTP درباره مجوزها و تفاوت آن خطا با مشکل شبکه توضیح می‌دهد، هرچند پروتکل‌ها یکسان نیستند.
اگر فضای حساب یا سهمیه تمام شده باشد، بارگذاری ممکن است شکست بخورد، هرچند فهرست پوشه باز شود. متن خطا را با نوع عملیات تطبیق دهید و سهمیه حساب را در پنل مربوط ببینید؛ قبل از حذف فایل‌های سایت، محل مصرف و نسخه پشتیبان را شناسایی کنید.

اگر مدیر سرور هستید: اتصال داده و NAT را تطبیق دهید

در FTP passive، سرور یک پورت داده از بازه پیکربندی‌شده پیشنهاد می‌کند. فایروال سرور، فایروال مرکز داده و NAT باید با همان بازه و مسیر واقعی هماهنگ باشند. بازبودن پورت فرمان به‌تنهایی اثبات نمی‌کند پورت داده نیز در دسترس است. در گزارش سرویس و کلاینت، زمان و مرحله قطع را کنار هم ببینید. اگر سرور پشت NAT آدرس خصوصی یا آدرس عمومی اشتباه اعلام کند، کلاینت ممکن است نتواند اتصال داده را کامل کند.
در cPanel و Pure-FTPd، تنظیمات محلی ممکن است در مسیر /var/cpanel/conf/pureftpd/local قرار گیرند. مدیر مجاز باید ابتدا محتوای فعلی، نوع سرویس FTP و مستند نسخه نصب‌شده را بخواند و نسخه پشتیبان تنظیمات را نگه دارد. نمونه زیر فقط شکل دو گزینه را نشان می‌دهد؛ IP و بازه را باید طبق شبکه واقعی و سیاست خودتان تعیین کنید:
کد / دستورForcePassiveIP: 203.0.113.10 PassivePortRange: 50000 50100
نشانی 203.0.113.10 نمونه است و نباید بدون جایگزینی با IP عمومی صحیح استفاده شود. این گزینه برای سناریوی NAT مناسب است و برای همه معماری‌ها یکسان نیست. چند تعریف متناقض از یک گزینه اضافه نکنید. پس از تأیید تنظیمات، اعمال تغییر و راه‌اندازی مجدد سرویس FTP باید مطابق دستورالعمل رسمی cPanel و در زمان مناسب انجام شود؛ قطع کوتاه اتصال کاربران محتمل است. در ProFTPD نام گزینه‌ها و فایل متفاوت‌اند.
اگر فایروال شما firewalld است، ابتدا ناحیه فعال و قواعد موجود را با دستور زیر ببینید:
کد / دستورsudo firewall-cmd --get-active-zones
در صورتی که طبق بررسی شما ناحیه درست public و بازه مصوب همان 50000-50100 است، مدیر می‌تواند قانون متناسب را به تنظیم دائمی همان ناحیه اضافه کند و پس از هماهنگی، قواعد را بارگذاری کند:
کد / دستورsudo firewall-cmd --permanent --zone=public --add-port=50000-50100/tcp sudo firewall-cmd --reload
نام ناحیه و بازه در این مثال باید با سیستم واقعی جایگزین شوند. پیش از reload، قواعد و دسترسی مدیریتی موجود، اثر آن بر اتصال‌های جاری و روش بازگشت را بررسی کنید. اگر فایروال یا کنترل شبکه دیگری استفاده می‌کنید، این دستورها لزوماً ابزار مناسب آن نیستند. بازکردن همه پورت‌ها، خاموش‌کردن فایروال یا تغییر TLS برای آزمون توصیه نمی‌شود. اگر NAT یا فایروال بیرونی وجود دارد، همان بازه باید آنجا هم طبق سیاست شبکه هدایت یا مجاز شود.

نتیجه را چطور تأیید کنیم؟

از یک شبکه مجاز دوباره با FTPS و حالت passive وصل شوید، فهرست همان پوشه را باز کنید و یک فایل آزمایشی کوچک را بارگذاری و دریافت کنید. اگر اتصال از شبکه دیگر همچنان ناموفق است، زمان دقیق، مرحله خطا و گزارش پالایش‌شده دو سمت را با مدیر شبکه مقایسه کنید. نتیجه موفق ورود به‌تنهایی تأیید انتقال فایل نیست.
اگر سرویس میزبانی مشترک دارید، به‌جای تغییر تنظیمات سرور از پشتیبانی بخواهید حالت passive و دسترسی داده را برای حساب و زمان مشخص بررسی کند. جزئیات هاست وردپرس نت‌آرام در صفحه سرویس آمده است؛ روش و سطح دسترسی انتقال فایل به تنظیم همان سرویس بستگی دارد.
برچسب‌ها:
اشتراک‌گذاری:
لینکدینتلگرامایکس

دیدگاه‌ها (۰)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام