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 配置文件信息

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

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

return request()->ip();

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

3年前 评论
讨论数量: 5

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

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

3年前 评论

request()->ip()

3年前 评论

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

return request()->ip();

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

3年前 评论

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

2年前 评论

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