X-Forwarded-For X-Forwarded-For bir uzantı başlığıdır. HTTP/1.1 (RFC 2616) protokolü bunu tanımlamaz; başlangıçta HTTP talep edenin gerçek IP'sini temsil etmek için önbellek proxy yazılımı olan Squid tarafından tanıtılmıştır ve şu anda büyük HTTP proxy'leri, yük dengeleme ve diğer yönlendirme hizmetleri tarafından yaygın olarak kullanılan ve RFC 7239 (Yönlendirilmiş HTTP Uzantısı) standardına yazılmış fiili bir standart haline gelmiştir.
Birden fazla katmanlı proxy içeren bir ağ yapısında (örneğin, web uygulama güvenlik duvarına bağlı bir CDN ve Anti-DDoS Pro IP adresi), tüm proxy'lerin IP adresleri x-forwarded-for alanına eklenir. Bunun nedeni, proxy sunucunun her yönlendirme için proxy IP adresini yazmasıdır.
Format şu şekildedir:
X-Forwarded-For: client_ip, proxy1_ip, proxy2_ip Forge X-Forwarded-For
Postman aracılığıyla X-Forwarded-For isteği başlığını ekliyoruz, bu da şuna benzer bir sahte oluşturuyor:
Alibaba Cloud'un SLB servisini, SLB -> IIS'i kullandım, ilk IP adresini alırsak yanlış olmalı, son IP adresi istemcinin gerçek IP adresi.
(Gerçek hayatta ise, bunu kendi mimarinize göre elde etmeniz gerekir ve istemcinin gerçek IP adresini almak, birkaç kat proxy üzerinden geçtiğinize bağlıdır.İlk katmana inanıyorsun)
Nginx'i ters proxy olarak kullanmak için bunu şu şekilde ayarlayabilirsiniz:
En dıştaki proxy sunucu, istemcinin X-Forwarded-For girdisine güvenmez, doğrudan üzerine yazar, eklemek yerine.
|