خطای This site can't be reached چیست
مقالات تخصصی IT و هاستینگ

خطای This site can't be reached چیست و چگونه رفع می‌شود؟

خطای This site can't be reached یک عنوان عمومی برای خطاهای اتصال به وب‌سایت است و کد خاکستری‌رنگ زیر آن، علت مشکل را مشخص می‌کند. کدهای NXDOMAIN و NAME_NOT_RESOLVED بیشتر به اختلال DNS و کدهای TIMED_OUT، REFUSED و RESET اختلال اتصال یا پاسخ‌گویی سرور اشاره می‌کنند. برای تشخیص سریع، همان وب‌سایت باید با دستگاه یا شبکه دیگری بررسی شود؛ زیرا بازشدن سایت در شرایط دیگر، مشکل محلی را نشان می‌دهد و بازنشدن آن در همه شرایط، احتمال اختلال سمت وب‌سایت را افزایش خواهد داد. در سمت کاربر، پاک کردن کش DNS، راه‌اندازی مجدد مودم یا روتر و استفاده از DNS عمومی به عیب‌یابی کمک می‌کند. مدیر وب‌سایت نیز باید وب سرور، پورت‌های 80 و 443، رکوردهای DNS و فایروال را بررسی نماید.

خطای This site can't be reached چه معنایی دارد؟

خطای This site can't be reached به یک علت واحد اشاره نمی‌کند و زمانی نمایش داده می‌شود که مرورگر نتواند اتصال به وب‌سایت را کامل نماید. کد زیر پیام، باید مبنای عیب‌یابی باشد.

کدهای DNS_PROBE_FINISHED_NXDOMAIN و ERR_NAME_NOT_RESOLVED نشان می‌دهند که نام دامنه به آدرس IP ترجمه نشده است. ERR_CONNECTION_TIMED_OUT زمانی نمایش داده می‌شود که سرور در بازه تعیین‌شده پاسخ ندهد و ERR_CONNECTION_REFUSED زمانی رخ خواهد داد که سرور درخواست را نپذیرد.

ERR_ADDRESS_UNREACHABLE نیز نشان می‌دهد که مسیر مناسبی برای دسترسی به مقصد وجود ندارد. علت می‌تواند از دستگاه، شبکه یا DNS کاربر تا سرور یا فایروال وب‌سایت متفاوت باشد. برای تعیین علت مشکل، همان نشانی باید با دستگاه یا شبکه دیگری آزمایش و نتیجه مقایسه شود.

دلایل مختلف خطای This site can't be reached

تصویر(1)

کدهای فرعی پیغام This site can't be reached

کد فرعی، نوع دقیق اختلال مرتبط با خطای This site can't be reached را مشخص کند. در DNS_PROBE_FINISHED_NXDOMAIN، دامنه به IP تبدیل نمی‌شود و بررسی املای دامنه، پاک کردن کش DNS و استفاده از DNS عمومی پیشنهاد می‌گردد.

در ERR_NAME_NOT_RESOLVED، مشکل به DNS محلی یا رکورد دامنه مربوط می‌شود و بررسی شبکه دیگر می‌تواند منشأ اختلال را مشخص نماید. در ERR_CONNECTION_TIMED_OUT، سرور شناسایی شده اما پاسخ نداده است و بررسی فایروال اهمیت پیدا می‌کند. در ERR_CONNECTION_REFUSED، سرور درخواست را رد کرده است و وضعیت وب سرور و پورت 80 یا 443 باید بررسی شود. در ERR_ADDRESS_UNREACHABLE، مسیر شبکه به مقصد برقرار نیست و بررسی مسیریابی و روتر ضرورت پیدا می‌کند.

چه عواملی باعث نمایش خطای This site can't be reached می‌شوند؟

اختلال DNS می‌تواند مانع ترجمه نام دامنه به آدرس IP شود و خطاهای NXDOMAIN و NAME_NOT_RESOLVED را ایجاد کند. اشتباه تایپی، منقضی‌شدن یا ثبت‌نشدن دامنه نیز می‌تواند نتیجه مشابه داشته باشد. از دسترس خارج‌شدن وب‌سرور، افزایش شدید درخواست‌ها یا فعال‌نبودن سرویس روی پورت موردنظر می‌تواند به TIMED_OUT منجر شود. ردشدن اتصال نیز معمولاً با REFUSED مشخص می‌گردد و می‌تواند از غیرفعال‌بودن سرویس یا مسدودبودن پورت ناشی شود. فایروال ها ممکن است درخواست را مسدود کنند. کش قدیمی یا آسیب‌دیده DNS نیز می‌تواند دامنه را به نشانی نادرست هدایت کند. پیکربندی اشتباه رکوردهای A، AAAA یا CNAME در سمت وب‌سایت نیز می‌تواند دسترسی را مختل نماید.

روش های رفع خطای This site can't be reached

تصویر(2)

چگونه می توان علت خطا را سریعا پیدا کرد؟

ابتدا کد فرعی بررسی شود تا مشخص گردد مشکل در DNS یا مرحله اتصال رخ داده است. سپس می بایست همان وب‌سایت با دستگاه یا شبکه دیگری آزمایش شود تا محلی یا سراسری‌بودن اختلال مشخص گردد. بازکردن سایت در حالت ناشناس یا مرورگر دیگر نیز می‌تواند تاثیر کش را مشخص کند. برای بررسی DNS می‌توان دستور زیر را اجرا کرد:

nslookup example.com

اجرای curl نیز می‌تواند وضعیت پاسخ‌گویی را روشن‌تر کند:

curl -I https://example.com

سرویس‌های آنلاین نیز می‌توانند عمومی یا محلی‌بودن اختلال را مشخص نمایند.

خطای This site can't be reached از بیرون چگونه دیده می‌شود؟

کد فرعی خطا یکی از مهم‌ترین سرنخ‌ها برای شناسایی علت خطا محسوب می‌شود و بررسی آن، روند عیب‌یابی را کوتاه‌تر می‌کند. کدهایی مانند DNS_PROBE_FINISHED_NXDOMAIN و ERR_CONNECTION_TIMED_OUT ممکن است در ظاهر مشابه به نظر برسند اما به‌ترتیب وجود مشکل در ترجمه نام دامنه و برقراری یا تکمیل اتصال با سرور را مشخص می‌کنند. بنابراین، ابتدا باید فرایند ترجمه نام دامنه به نشانی IP به‌صورت جداگانه بررسی شود و سپس اتصال به سرور مورد آزمایش قرار گیرد. تازه‌سازی مکرر صفحه بدون بررسی کد فرعی خطا، معمولاً به شناسایی علت اصلی مشکل منجر نمی‌شود.

چگونه باید خطای This site can't be reached را برطرف کرد؟

در ادامه نحوه رفع خطای This site can't be reached تحت حالت های مختلف بررسی می شود.

اگر بازدیدکننده وب‌سایت هستید

ابتدا باید کد فرعی و سپس صحت نشانی واردشده بررسی شود. با بازکردن یک وب‌سایت معتبر دیگر می‌توان وضعیت اتصال اینترنت را مشخص کرد. در صورت وجود مشکل عمومی، مودم یا روتر باید حدود ۳۰ ثانیه خاموش و سپس مجددا روشن شود و کش DNS نیز پاک گردد.

در ویندوز، می توانید دستورات زیر را به ترتیب اجرا کنید:

ipconfig /flushdns
ipconfig /release
ipconfig /renew
netsh winsock reset
netsh int ip reset

پس از اجرای دستورات، سیستم باید ری‌استارت شود. در macOS نیز می توانید کش DNS را با دستور زیر پاکسازی نمایید:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

DNS دستگاه می‌تواند روی 8.8.8.8 یا 1.1.1.1 تنظیم شود. در پایان، وب‌سایت باید با شبکه یا دستگاه دیگری آزمایش گردد تا محلی‌بودن یا عمومی‌بودن اختلال مشخص شود.

رفع خطای DNS_PROBE_FINISHED_NXDOMAIN در وب سایت

تصویر(3)

اگر مدیریت وب‌سایت را بر عهده دارید

ابتدا باید روشن‌بودن سرور و اجرای صحیح وب سرور بررسی شود و روی پورت 443 برای HTTPS یا 80 برای HTTP در حال گوش‌دادن باشد. جهت بررسی پاسخ سرور می‌توان دستور زیر را اجرا کرد:

curl -I https://example.com

رکوردهای A، AAAA و CNAME نیز باید بررسی شوند تا دامنه به IP واقعی سرور هدایت گردد. این بررسی با dig یا nslookup انجام می‌شود:

dig example.com A
nslookup example.com

فایروال سرور نیز باید مورد بررسی قرار گیرد تا ترافیک ورودی روی پورت‌های وب، مجاز باشد. وضعیت ثبت دامنه، تاریخ انقضا و نیم‌سرورها نیز باید بررسی شود. با رفع مشکل، دسترسی از خارج شبکه سرور نیز باید آزمایش گردد.

رفع خطای DNS_PROBE_FINISHED_NXDOMAIN در وب سایت

تصویر(4)

رفع خطای This site can't be reached در لینوکس

جهت رفع خطای This site can't be reached در لینوکس ابتدا باید کش DNS پاکسازی گردد. در برخی سیستم‌ها این کار توسط دستور زیر انجام می‌شود:

sudo systemd-resolve --flush-caches

در نسخه‌های جدیدتر لینوکس می‌توان دستور زیر را اجرا کرد:

sudo resolvectl flush-caches

در صورت فعال‌بودن nscd، سرویس می‌تواند با دستور زیر ری‌استارت شود:

sudo systemctl restart nscd

DNS نیز می‌تواند روی سرویس عمومی تنظیم شود و خط زیر در etc/resolv.conf/ قرار گیرد:

nameserver 1.1.1.1

سپس باید فایل etc/hosts/ بررسی شود تا رکوردهای قدیمی یا نادرست حذف شوند:

cat /etc/hosts

برای تفکیک مشکل DNS از مشکل اتصال، می‌توان dig یا nslookup را استفاده کرد:

dig example.com
nslookup example.com

جلوگیری از بروز خطای This site can't be reached

تصویر(5)

جمع بندی: چگونه می توان از بروز خطای This site can't be reached جلوگیری کرد؟

از بین‌بردن کامل احتمال بروز خطای This site can't be reached ممکن نیست اما پایش مستمر می‌تواند زمان تشخیص مشکل را کاهش دهد. سرویس‌های مانیتورینگ می‌توانند وب‌سایت را از چند موقعیت جغرافیایی و در بازه‌های کوتاه بررسی کنند و وضعیت HTTP، TCP، ICMP، پورت‌ها، کلمات کلیدی، گواهی SSL و دامنه را بسنجند. در صورت توقف پاسخ‌گویی، هشدار می‌تواند از طریق ایمیل، پیامک، تماس صوتی، پیام‌رسان یا وب‌هوک ارسال شود. پایش دامنه نیز می‌تواند مشکلات DNS و نزدیک‌شدن انقضا را آشکار نماید. با این‌حال، مانیتورینگ خارجی فقط دسترسی از بیرون سرور را بررسی می‌کند و اطلاعاتی درباره مصرف CPU، RAM یا فضای دیسک ارائه نمی‌دهد؛ بنابراین برای پایش منابع باید از ابزارهای داخلی سرور نیز استفاده شود.

اشتراک گذاری:

نظرات

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *