رفتن به محتوا

هدرهای پراکسی

وقتی یک رکورد پراکسی‌شده باشد (ترافیک از لبه‌ی nsin عبور می‌کند)، nsin پیش از ارسال درخواست به سرور مبدأ شما مجموعه‌ای از هدرهای HTTP اضافه می‌کند و چند هدر هم به پاسخی که به بازدیدکننده برمی‌گردد می‌افزاید. اپلیکیشن، ریورس‌پراکسی، فایروال (WAF) یا سیستم لاگ شما می‌تواند این‌ها را بخواند تا آی‌پی واقعی بازدیدکننده، موقعیت مکانی او و یک شناسه‌ی درخواست برای عیب‌یابی را بازیابی کند.

همه‌ی هدرهای nsin از پیشوند Nsn-* استفاده می‌کنند.

هدرهای افزوده‌شده به درخواست (nsin ← مبدأ شما)

Section titled “هدرهای افزوده‌شده به درخواست (nsin ← مبدأ شما)”
هدرنمونهمعنی
Nsn-Connecting-IP203.0.113.10آی‌پی واقعی بازدیدکننده. برای شناسایی کلاینت از این استفاده کنید.
X-Forwarded-For203.0.113.10, 198.51.100.1زنجیره‌ی استاندارد پراکسی؛ بازدیدکننده اولین مقدار است.
X-Real-IP203.0.113.10آی‌پی بازدیدکننده (تک‌مقدار).
Forwardedfor="203.0.113.10";host="...";proto=httpsفرم ساختاریافته‌ی RFC 7239.

Nsn-Connecting-IP را به X-Forwarded-For / X-Real-IP ترجیح دهید: این هدر بیرون از خانواده‌ی X-Forwarded-* قرار دارد، پس حتی وقتی پراکسی دیگری جلوی مبدأ شما آن خانواده را بازنویسی کند، آی‌پی واقعی بازدیدکننده را حمل می‌کند.

هدرنمونهمعنی
X-Forwarded-Protohttpsپروتکلی که بازدیدکننده استفاده کرده. برای اجبار HTTPS یا ساخت URL مطلق.
X-Forwarded-Hostapp.example.comنام میزبانی که بازدیدکننده درخواست کرده.
X-Forwarded-Port443پورتی که بازدیدکننده روی آن متصل شده.

هدر Host ارسالی به مبدأ برابر با نام میزبان درخواست‌شده تنظیم می‌شود (برای یک رکورد wildcard این همان زیردامنه‌ی واقعی است، مثل api.example.com نه *)، مگر این‌که روی رکورد یک Host Header Override تنظیم کرده باشید.

هدرنمونهمعنی
Nsn-CountryNLکد دو‌حرفی کشور (ISO). در صورت نامشخص بودن XX.
Nsn-ContinentEUکد قاره (AF، AS، EU، NA، OC، SA، AN). در صورت نامشخص بودن حذف می‌شود.

موقعیت‌یابی بر پایه‌ی پایگاه‌داده‌ی آی‌پی و «بهترین تلاش» است؛ دقت آن بسته به شبکه فرق می‌کند. nsin در حال حاضر شهر، استان، کد پستی، طول/عرض جغرافیایی یا منطقه‌ی زمانی را ارائه نمی‌دهد.

ردیابی درخواست و محافظت در برابر حلقه

Section titled “ردیابی درخواست و محافظت در برابر حلقه”
هدرنمونهمعنی
Nsn-Ray8e9c123456789abcشناسه‌ی یکتای درخواست. برای ردیابی یک درخواست بین سیستم‌ها آن را لاگ کنید.
Nsn-EdgeEDGESلبه (PoP) nsin که درخواست را پردازش کرده.
CDN-Loopnsinنشانگر جلوگیری از حلقه (RFC 8586). اگر درخواستی که از قبل nsin را حمل می‌کند دوباره وارد لبه‌ی nsin شود، برای جلوگیری از حلقه‌ی بی‌نهایت رد می‌شود — پس مبدأ خود را به nsin برنگردانید.

هدرهای افزوده‌شده به پاسخ (nsin ← بازدیدکننده)

Section titled “هدرهای افزوده‌شده به پاسخ (nsin ← بازدیدکننده)”
هدرنمونهمعنی
Nsn-Ray8e9c123456789abcهمان شناسه‌ی درخواست بالا که برای پشتیبانی/عیب‌یابی به بازدیدکننده برمی‌گردد.
Nsn-EdgeEDGESPoP nsin که درخواست را سرویس داده.
Nsn-Cache-StatusHITنحوه‌ی برخورد کش با درخواست.
ServerNSINلبه‌ی nsin را معرفی می‌کند.

مقادیر Nsn-Cache-Status:

مقدارمعنی
HITاز کش nsin سرویس شد؛ مبدأ شما درگیر نشد.
MISSدر کش نبود؛ از مبدأ شما گرفته شد (و ممکن است حالا کش شود).
BYPASSکش عمداً دور زده شد (مثلاً کوکی، authorization یا یک قانون کش).
DYNAMICقابل کش نیست — مستقیم از مبدأ سرویس شد.

خواندن آی‌پی واقعی بازدیدکننده

Section titled “خواندن آی‌پی واقعی بازدیدکننده”

بیشتر فریم‌ورک‌ها و ریورس‌پراکسی‌ها را می‌توان به هدر connecting-IP اشاره داد. برای مثال در nginx:

real_ip_header Nsn-Connecting-IP;
# set_real_ip_from <nsin edge IPs>; # فقط هدر از سمت nsin را اعتماد کن

هم‌چنین حالت‌های دامنه را برای تفاوت بین رکوردهای پراکسی‌شده و فقط-DNS ببینید.