1

我有以下设置:

用户发出请求,该请求将发送到 cloudflare,该请求充当请求的代理,并将其重定向到 aws 网络负载均衡器,最终将其路由到其目的地。

在那里我用节点服务器读取它(实际上是用socket.io制作的套接字),并且需要从中获取原始IP。

我试着这样读:

让 ip = socket.request.headers['CF-Connecting-IP'] || socket.request.headers['x-forwarded-for'] || socket.request.connection.remoteAddress

cf 和 aws lb 都设置了 x-forwarded-for。

问题是我得到的是cf ip,而不是最终用户ip。

如果我删除 cf 代理一切都很好。

在我看来, aws lb 正在覆盖标题。知道如何使 aws lb 不被覆盖,而是添加到列表中,或者什么都不做?

4

0 回答 0