Laravel Octane 获取不到 客户端ip

1. 运行环境

LNMP

1). 当前使用的 Laravel 版本?

Laravel v9.15.0

2). 当前使用的 php/php-fpm 版本?

PHP 版本:8.1.5

php-fpm 版本:

3). 当前系统

CentOS 7

4). 业务环境

生产环境

5). 相关软件版本

nginx:1.21.4

2. 问题描述?

启用了 Laravel Octane 获取不到 客户端ip、打印$_SERVER 拿不到任何 header信息、
并且还把 env配置文件的数据全部输出了、很奇怪

3. 您期望得到的结果?

想要获取到 客户端真实ip、想能正常获取到header信息、隐藏 env 配置文件信息

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

request()->setTrustedProxies(request()->getClientIps(), RequestAlias::HEADER_X_FORWARDED_FOR);

return request()->ip();

是因为可能客户端使用了代理、这样处理就能拿到 客户端ip了

2年前 评论
讨论数量: 5

用Request对象获取: use Illuminate\Http\Request;

$request->ip(); $request->header();

2年前 评论

request()->ip()

2年前 评论

request()->setTrustedProxies(request()->getClientIps(), RequestAlias::HEADER_X_FORWARDED_FOR);

return request()->ip();

是因为可能客户端使用了代理、这样处理就能拿到 客户端ip了

2年前 评论

你这套思路是FPM下面的,都抛弃FPM使用Swoole HttpServer 自然都不一样了。 除非Octane 兼容给 $_SERVER['REMOTE_ADDR'] = $request->clientIp();

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!