صفحات خطای سفارشی
یک error page rule تعیین میکند بازدیدکنندهها وقتی سرور شما نمیتواند به یک درخواست پاسخ دهد چه ببینند — down است، خیلی کند است، یا یک خطای سرور برمیگرداند.
سه حالت
Section titled “سه حالت”| حالت | بازدیدکننده چه میبیند |
|---|---|
| nsin page | صفحهی خطای خود nsin. حتی وقتی سرور شما غیرقابلدسترس است هم کار میکند. پیشفرض. |
| Your own page | HTML ای که شما میدهید، توسط nsin serve میشود. وقتی سرور شما down است هم کار میکند. |
| Pass through | پاسخ خطای خود سرور شما، بدون تغییر. فقط وقتی ممکن است که سرور شما پاسخ داده باشد. |
ساختن یک error page rule
Section titled “ساختن یک error page rule”- به Rules → Add Rule → Error Page بروید.
- status code هایی که قانون پوشش میدهد را انتخاب کنید — فقط
5xx، مثلاً500، یا502،503،504با هم. - حالت را انتخاب کنید.
- برای your own page، HTML هر کد را paste کنید، بهعلاوه یک fallback اختیاری برای هر کد پوششدادهشدهای که HTML ندارد.
- اختیاری است قانون را به path های خاصی محدود کنید.
- Save را بزنید.
نوشتن صفحهی خودتان
Section titled “نوشتن صفحهی خودتان”CSS خود را inline کنید — تصویر، فونت یا اسکریپت را از سرور خودتان لود نکنید، چون آن درخواستها هم در طول قطعی fail میشوند. بگویید چه اتفاقی افتاده و بعد چه کاری بکنند.
کدام کدها مهماند
Section titled “کدام کدها مهماند”قوانین error page فقط 5xx را پوشش میدهند.
- 502 / 503 / 504 — سرور پاسخ نداد، یا خیلی کند پاسخ داد. ارزش شخصیسازی دارد.
- 523 — hostname روی nsin تنظیم نشده. قابل شخصیسازی نیست: nsin پیش از اینکه بداند درخواست برای کدام سایت است پاسخ میدهد.
پوشش داده نمیشوند: 404 و دیگر 4xx (همانطور که سرور شما فرستاده نشان داده
میشوند)، 403 (block rule)، 429
(rate limiting) — هر دو از nsin میآیند، نه از
سرور شما، و قوانین error page به آنها دست نمیزنند.
وقتی developer mode روشن است
Section titled “وقتی developer mode روشن است”Developer mode یک قانون موقت و غیرقابلحذف بالای
فهرست اضافه میکند: pass through برای هر کد 5xx، هر path. پاسخ خود سرور
شما — stack trace، صفحهی debug — بهجای آن به مرورگر میرسد.
- پیش از قوانین خودتان اجرا میشود، در فهرست با برچسب Developer mode علامت دارد.
- قابل ویرایش نیست؛ برای برداشتنش developer mode را خاموش یا حذف کنید.
- وقتی تمام شود خودکار برداشته میشود. اگر سرور شما اصلاً پاسخ ندهد، صفحهی nsin همچنان نشان داده میشود.
سوالهای رایج
Section titled “سوالهای رایج”صفحهی سفارشی من نشان داده نمیشود. بررسی کنید قانون آن status code را پوشش میدهد و path هایش تطبیق دارند. Pass through عمداً صفحهی سرور شما را نشان میدهد؛ developer mode خطاهای خام سرور شما را نشان میدهد.
میتوانم بهجای نشاندادن صفحه، ریدایرکت کنم؟
نه — یک ریدایرکت یک خطا را به 200 OK تبدیل میکند، که مرورگرها و موتورهای
جستوجو را گیج میکند. خطا را نشان دهید و یک لینک پیشنهاد کنید.
بازدیدکنندهها در طول یک قطعی صفحهی nsin را دیدند.
یعنی fallback درست کار کرد: سرور شما غیرقابلدسترس بود. برای 502/503/504
صفحهی خودتان را تنظیم کنید، و به Uptime ببینید.