رفتن به محتوا
nsin docs

صفحات خطای سفارشی

یک error page rule تعیین می‌کند بازدیدکننده‌ها وقتی سرور شما نمی‌تواند به یک درخواست پاسخ دهد چه ببینند — down است، خیلی کند است، یا یک خطای سرور برمی‌گرداند.

حالتبازدیدکننده چه می‌بیند
nsin pageصفحه‌ی خطای خود nsin. حتی وقتی سرور شما غیرقابل‌دسترس است هم کار می‌کند. پیش‌فرض.
Your own pageHTML ای که شما می‌دهید، توسط nsin serve می‌شود. وقتی سرور شما down است هم کار می‌کند.
Pass throughپاسخ خطای خود سرور شما، بدون تغییر. فقط وقتی ممکن است که سرور شما پاسخ داده باشد.
  1. به Rules → Add Rule → Error Page بروید.
  2. status code هایی که قانون پوشش می‌دهد را انتخاب کنید — فقط 5xx، مثلاً 500، یا 502، 503، 504 با هم.
  3. حالت را انتخاب کنید.
  4. برای your own page، HTML هر کد را paste کنید، به‌علاوه یک fallback اختیاری برای هر کد پوشش‌داده‌شده‌ای که HTML ندارد.
  5. اختیاری است قانون را به path های خاصی محدود کنید.
  6. Save را بزنید.

CSS خود را inline کنید — تصویر، فونت یا اسکریپت را از سرور خودتان لود نکنید، چون آن درخواست‌ها هم در طول قطعی fail می‌شوند. بگویید چه اتفاقی افتاده و بعد چه کاری بکنند.

قوانین error page فقط 5xx را پوشش می‌دهند.

  • 502 / 503 / 504 — سرور پاسخ نداد، یا خیلی کند پاسخ داد. ارزش شخصی‌سازی دارد.
  • 523 — hostname روی nsin تنظیم نشده. قابل شخصی‌سازی نیست: nsin پیش از این‌که بداند درخواست برای کدام سایت است پاسخ می‌دهد.

پوشش داده نمی‌شوند: 404 و دیگر 4xx (همان‌طور که سرور شما فرستاده نشان داده می‌شوند)، 403 (block rule)، 429 (rate limiting) — هر دو از nsin می‌آیند، نه از سرور شما، و قوانین error page به آن‌ها دست نمی‌زنند.

Developer mode یک قانون موقت و غیرقابل‌حذف بالای فهرست اضافه می‌کند: pass through برای هر کد 5xx، هر path. پاسخ خود سرور شما — stack trace، صفحه‌ی debug — به‌جای آن به مرورگر می‌رسد.

  • پیش از قوانین خودتان اجرا می‌شود، در فهرست با برچسب Developer mode علامت دارد.
  • قابل ویرایش نیست؛ برای برداشتنش developer mode را خاموش یا حذف کنید.
  • وقتی تمام شود خودکار برداشته می‌شود. اگر سرور شما اصلاً پاسخ ندهد، صفحه‌ی nsin همچنان نشان داده می‌شود.

صفحه‌ی سفارشی من نشان داده نمی‌شود. بررسی کنید قانون آن status code را پوشش می‌دهد و path هایش تطبیق دارند. Pass through عمداً صفحه‌ی سرور شما را نشان می‌دهد؛ developer mode خطاهای خام سرور شما را نشان می‌دهد.

می‌توانم به‌جای نشان‌دادن صفحه، ریدایرکت کنم؟ نه — یک ریدایرکت یک خطا را به 200 OK تبدیل می‌کند، که مرورگرها و موتورهای جست‌وجو را گیج می‌کند. خطا را نشان دهید و یک لینک پیشنهاد کنید.

بازدیدکننده‌ها در طول یک قطعی صفحه‌ی nsin را دیدند. یعنی fallback درست کار کرد: سرور شما غیرقابل‌دسترس بود. برای 502/503/504 صفحه‌ی خودتان را تنظیم کنید، و به Uptime ببینید.