什么是remote_addr
????????remote_addr代表客戶端的IP,但它的值不是由客戶端提供的腾夯,而是服務(wù)端根據(jù)客戶端的ip指定的,當(dāng)你的瀏覽器訪問(wèn)某個(gè)網(wǎng)站時(shí)蔬充,假設(shè)中間沒有任何代理蝶俱,那么網(wǎng)站的web服務(wù)器(Nginx,Apache等)就會(huì)把remote_addr設(shè)為你的機(jī)器IP饥漫,如果你用了某個(gè)代理榨呆,那么你的瀏覽器會(huì)先訪問(wèn)這個(gè)代理,然后再由這個(gè)代理轉(zhuǎn)發(fā)到網(wǎng)站庸队,這樣web服務(wù)器就會(huì)把remote_addr設(shè)為這臺(tái)代理機(jī)器的IP积蜻。
什么是x_forwarded_for (X-Forwarded-For字段)
????????正如上面所述,當(dāng)你使用了代理時(shí)彻消,web服務(wù)器就不知道你的真實(shí)IP了竿拆,為了避免這個(gè)情況,代理服務(wù)器通常會(huì)增加一個(gè)叫做x_forwarded_for的頭信息宾尚,把連接它的客戶端IP(即你的上網(wǎng)機(jī)器IP)加到這個(gè)頭信息里丙笋,這樣就能保證網(wǎng)站的web服務(wù)器能獲取到真實(shí)IP