我正在分析基于弹性负载均衡器的公共路由堆栈,该负载均衡器打开 PM2 公开的端口,PM2 使用 koa 模块启动节点应用程序。目前,IP 已被记录,这仅取决于
X-Forwarded-For
curl
是否有一种简单的方法可以防止欺骗此标头或设置AWS的ELB,以便它忽略手动插入的标头,或者是否有比欺骗标头更好的方法来获取访问者的真实IP地址?
根据doc:
如果来自客户端的请求已包含 X-Forwarded-For 标头,Elastic Load Balancing 会将客户端的 IP 地址附加到标头值的末尾。在这种情况下,列表中的最后一个 IP 地址是客户端的 IP 地址。
所以最后一个IP始终是真实IP。
来自文档:
...负载均衡器将客户端 IP 地址附加到现有标头并将标头传递到您的服务器。 X-Forwarded-For 请求标头可能包含多个以逗号分隔的 IP 地址。最左边的地址是首次发出请求的客户端 IP。其后是链中的任何后续代理标识符。
第一个IP是正确的客户端IP。