然后在前端网站上使用了proxy_pass直接跳转至后端网站,所以浏览器访问了前端网站,前端网站再向后端网站请求数据,这时后端拿到的客户端ip(用request()->ip())始终是127.0.0.1,而不是客户端真正的IP!
前端网站已经添加了配置,如下:
location ^~/api/ {
#proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://admin-back/admin/;
}经过调试,发现最终问题在于vendor/topthink/fr关于这个问题,难道没人遇到过吗?我相信大佬也不可能不知道这种事的,为什么不修复呢?
最佳答案