چک‌نت.

کدهای خطای HTTP و مسدودسازی بر اساس کشور

معنی ۴۰۳، ۴۰۴، ۴۵۱ و ۵۰۰ها، و چرا سایتی از بعضی کشورها باز نمی‌شود.

بررسی با چک‌نت: از همه‌جا باز می‌شود؟

کد پاسخ HTTP چیست؟

هر بار که مرورگر صفحه‌ای را می‌خواهد، سرور اول یک عدد سه‌رقمی برمی‌گرداند که نتیجه را خلاصه می‌کند. رقم اول دسته را می‌گوید: دویست‌ها موفق، سیصدها هدایت به نشانی دیگر، چهارصدها مشکل در درخواست یا دسترسی، و پانصدها خطای سمت سرور. چک‌نت سایت را از چند کشور باز می‌کند و کد و زمان هر کدام را نشان می‌دهد، تا ببینید سایت همه‌جا یک‌جور جواب می‌دهد یا نه.

کدهای رایج

  • کد ۲۰۰: صفحه بی‌مشکل برگشت.
  • کدهای ۳۰۱ و ۳۰۲: سرور شما را به نشانی دیگری می‌فرستد؛ ۳۰۱ یعنی دائمی و ۳۰۲ یعنی موقت. هدایت از HTTP به HTTPS یا از نشانی بدون www به www معمولاً همین است.
  • کد ۴۰۳: سرور درخواست را فهمید ولی اجازه نمی‌دهد. ممکن است به خاطر تنظیم دسترسی، دیوار آتش وب (WAF) یا بستن کشور باشد.
  • کد ۴۰۴: این نشانی روی سرور پیدا نشد.
  • کد ۴۲۹: درخواست‌های زیادی در زمان کوتاه رسیده و سرور محدودشان کرده است؛ گاهی سرآیند Retry-After می‌گوید کی دوباره امتحان کنید.
  • کد ۴۵۱: دسترسی به دلیل یک الزام قانونی بسته شده است (استاندارد RFC 7725). استاندارد توصیه می‌کند کسی که مسدود کرده خودش را با سرآیند Link و rel="blocked-by" معرفی کند.
  • کد ۵۰۰: خطای داخلی خود برنامهٔ سایت.
  • کد ۵۰۲: یک پراکسی یا شبکهٔ توزیع محتوا (CDN) از سرور اصلی پاسخ نامعتبر گرفت.
  • کد ۵۰۳: سرور موقتاً نمی‌تواند پاسخ دهد، مثلاً به خاطر بار زیاد یا تعمیر.
  • کد ۵۰۴: پراکسی یا CDN در زمان مقرر هیچ پاسخی از سرور اصلی نگرفت.

چرا سایتی از بعضی کشورها باز نمی‌شود

اگر سایت از بیشتر کشورها کد ۲۰۰ می‌دهد و فقط از یک یا چند کشور ۴۰۳ یا ۴۵۱، احتمالاً خود سایت دسترسی از آن‌جا را بسته است. بعضی سرویس‌های خارجی، به استناد قوانین تحریم یا سیاست خودشان، کاربران ایران را با آی‌پی تشخیص می‌دهند و راه نمی‌دهند. این با فیلترینگ داخل ایران فرق دارد: آن‌جا اپراتور ایرانی جلوی اتصال را می‌گیرد، این‌جا سایت خارجی. برای فیلترینگ از صفحهٔ «فیلتر است؟» استفاده کنید.

دلیل دیگر محافظت در برابر ربات است. بسیاری از سایت‌ها پشت CDN و دیوار آتش وب هستند که درخواست‌های دیتاسنترها را مشکوک می‌دانند. دستگاه‌های Globalping بیشتر در دیتاسنترها هستند، پس ممکن است کد ۴۰۳ یا صفحهٔ چالش بگیرند در حالی که همان سایت در مرورگر شما بی‌مشکل باز می‌شود.

برای صاحب سایت: هر دسته را چطور بررسی کنید

  1. نشانی کامل را در صفحهٔ «از همه‌جا باز می‌شود؟» چک‌نت وارد کنید و ببینید کد در همهٔ کشورها یکی است یا فقط بعضی جاها فرق دارد.
  2. اگر سیصدها می‌بینید، مقصد هدایت را دنبال کنید. حلقهٔ هدایت (مثلاً بین HTTP و HTTPS) یا هدایت به نشانی اشتباه رایج‌ترین مشکل است.
  3. اگر ۴۰۳ فقط از بعضی کشورها است، قانون‌های کشور، رتبهٔ آی‌پی و محافظت ربات را در پنل CDN یا دیوار آتش وب بررسی کنید و ببینید کدام قانون درخواست را بسته است.
  4. اگر ۴۰۴ است، نشانی را با حروف بزرگ و کوچک و اسلش آخر دوباره ببینید، و بعد از جابه‌جایی صفحه‌ها برای نشانی‌های قدیمی هدایت ۳۰۱ بگذارید.
  5. اگر ۴۲۹ است، حد درخواست را در سرور یا CDN بررسی کنید؛ شاید برای کاربران عادی هم زیادی سخت‌گیر است.
  6. اگر پانصدها است، اول لاگ خطای برنامه و سرور را ببینید. برای ۵۰۲ و ۵۰۴ بررسی کنید سرور اصلی روشن است و CDN می‌تواند به آن وصل شود؛ برای ۵۰۳ بار سرور و حالت تعمیر را.
  7. بعد از هر تغییر دوباره با چک‌نت بررسی کنید و زمان پاسخ کشورها را هم مقایسه کنید؛ زمان خیلی بیشتر در یک منطقه یعنی سرور از آن‌جا دور است یا مسیر مشکل دارد.

یک خطای تنها از یک دستگاه را حکم قطعی ندانید. چند بار و از چند کشور بررسی کنید؛ خطای موقت شبکه یا محافظت ربات در یک دیتاسنتر کم پیش نمی‌آید.