欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

node.js怎么獲取訪問(wèn)者的內(nèi)網(wǎng)ip?

臣妾做不到

不僅是Nodejs做不到,任何網(wǎng)絡(luò)技術(shù)都不能做到

因?yàn)樵L問(wèn)者的內(nèi)網(wǎng)ip,在經(jīng)過(guò)路由器的時(shí)候會(huì)做網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT),經(jīng)過(guò)轉(zhuǎn)換的IP已經(jīng)是公網(wǎng)IP了,所以只能獲取到訪問(wèn)者公網(wǎng)的IP.

Nodejs獲取客戶端公網(wǎng)IP的方法主要分為這幾種情況:

  • Nodejs直接暴露服務(wù)

  • 反向代理

因?yàn)橹虚g加了一層反向代理轉(zhuǎn)發(fā),所以

req.socket.remoteAddress

只能獲取道反向代理的IP,這不是我們想要的.所以需要在反向代理轉(zhuǎn)發(fā)數(shù)據(jù)時(shí)增加一個(gè)HTTP頭x-real-ip,這里以nginx為例,需要配置:

proxy_set_headerX-Real-IP$remote_addr

在Nodejs可以使用X-Real-IP頭獲取IP


在多層反向代理中需要除了暴露在公網(wǎng)的nginx設(shè)置x-real-ip頭,其他后面都不要設(shè)置