今天遇到一个问题,laravel使用反向代理部署后,用request()->ip()获取客户端IP,永远返回127.0.0.1

获取当前是链接是否是https,则返回false

针对上边问题做以下配置后,即可解决

nginx

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

laravel 

App\Http\Middleware\TrustProxies

protected $proxies = ['127.0.0.1'];

两者配置后,即可获取正确的数值

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐