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

Proxy Headers

وقتی یک record proxied است، انسین به requestی که به origin شما می‌فرستد HTTP headerهایی اضافه می‌کند، و چند تای دیگر هم به response. آن‌ها را بخوانید تا بازدیدکننده واقعی، موقعیتش، و یک request id برای troubleshooting را بازیابی کنید.

همه headerهای انسین از prefix Nsn-* استفاده می‌کنند.

Headerهای اضافه‌شده به request (انسین → origin شما)

Section titled “Headerهای اضافه‌شده به request (انسین → origin شما)”
دستهHeaderمثالمعنی
IP بازدیدکنندهNsn-Connecting-IP203.0.113.10IP واقعی بازدیدکننده. برای شناسایی client از این استفاده کنید.
IP بازدیدکنندهX-Forwarded-For203.0.113.10, 198.51.100.1زنجیره استاندارد proxy؛ بازدیدکننده اولین entry است.
IP بازدیدکنندهX-Real-IP203.0.113.10IP بازدیدکننده (یک مقدار).
IP بازدیدکنندهForwardedfor="203.0.113.10";host="...";proto=httpsفرم ساختاریافته RFC 7239.
Protocol و hostX-Forwarded-Protohttpsprotocolی که بازدیدکننده استفاده کرد. برای اجبار HTTPS / ساخت URL مطلق از آن استفاده کنید.
Protocol و hostX-Forwarded-Hostapp.example.comhostnameی که بازدیدکننده درخواست کرد.
Protocol و hostX-Forwarded-Port443portی که بازدیدکننده به آن وصل شد.
GeolocationNsn-CountryNLکد کشور دو حرفی ISO. XX وقتی نامشخص است.
GeolocationNsn-ContinentEUکد قاره (AF، AS، EU، NA، OC، SA، AN). وقتی نامشخص است حذف می‌شود.
TracingNsn-Ray8e9c123456789abcشناسه یکتای request. برای ردیابی یک request بین سیستم‌ها آن را log کنید.
TracingNsn-EdgeEDGESPoP (edge) انسین که request را handle کرد.
TracingCDN-Loopnsinنشانگر جلوگیری از loop (RFC 8586). requestی که دوباره وارد edge انسین شود و از قبل nsin را حمل کند رد می‌شود — origin خودتان را دوباره به انسین اشاره ندهید.

Nsn-Connecting-IP را ترجیح دهید: برخلاف خانواده X-Forwarded-*، یک proxy دیگر جلوی origin شما نمی‌تواند آن را با مقدار خودش overwrite کند.

Header بالادستی Host همان hostnameی است که بازدیدکننده درخواست کرده (مثلاً api.example.com برای یک record wildcard، نه *)، مگر اینکه روی آن record یک Host Header Override تنظیم کرده باشید.

Geolocation بهترین‌تلاش و وابسته به شبکه است. شهر، منطقه، کد پستی، مختصات، یا timezone ندارد.

Headerهای اضافه‌شده به response (انسین → بازدیدکننده)

Section titled “Headerهای اضافه‌شده به response (انسین → بازدیدکننده)”
Headerمثالمعنی
Nsn-Ray8e9c123456789abcهمان request id بالا، برای support/debugging به بازدیدکننده برگردانده می‌شود.
Nsn-EdgeEDGESPoP انسین که request را serve کرد.
Nsn-Cache-StatusHITcache چطور با request برخورد کرد.
Nsn-Cache-Ruledefaultوقتی request توسط static caching پیش‌فرض انسین handle شده، نه یکی از cache ruleهای شما، حاضر است؛ Nsn-Cache-Status باز هم می‌گوید HIT، MISS یا BYPASS بود.
ServerNSINedge انسین را شناسایی می‌کند.

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

مقدارمعنی
HITاز cache انسین serve شد؛ با origin شما تماسی گرفته نشد.
MISSدر cache نبود؛ از origin شما گرفته شد (و ممکن است حالا cache شده باشد).
BYPASScache عمداً رد شد (مثلاً به‌خاطر cookie، authorization، یا یک cache rule).
DYNAMICقابل cache نیست — مستقیم از origin serve شد.

خواندن IP واقعی بازدیدکننده

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

framework یا reverse proxy خودتان را به header connecting-IP اشاره دهید. nginx:

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

همچنین Domain Modes را برای proxied در برابر DNS-only و Security Headers را برای headerهای اختیاری پاسخ که می‌توانید برای هر domain فعال کنید ببینید.