我正在分析一个公共路由的堆栈,该路由依赖于Elastic Load Balancer,它打开PM2公开的端口,该端口使用koa模块启动节点应用程序。此时,将记录IP,这仅取决于X-Forwarded-For
标头。如果使用curl
手动创建此标头,则应用程序会将其写为IP地址。
是否有一种简单的方法可以防止欺骗此标头或设置AWS的ELB,因此它会忽略手动插入的标头,或者是否有比欺骗性标头更好的方式来获取访问者的真实IP地址? / p>
答案 0 :(得分:7)
根据doc:
如果来自客户端的请求已包含X-Forwarded-For标头,则Elastic Load Balancing会在标头值的末尾附加客户端的IP地址。在这种情况下,列表中的最后一个IP地址是客户端的IP地址。
所以最后一个IP总是真正的IP。