起因

在有负载均衡的情况下直接使用laravel中的 $request->ip()获取到的IP是错误的

解决方案

laravel 中有个 TrustProxies 中间件是专门处理 ip 的问题,默认是没有代理是直接读取 REMOTE_ADDR 的头,如果有代理的情况可以填充代理的 ip,但是如果不知道中间代理的 ip 时,可以作如下修改:

protected $proxies = '*';