我最近将 Laravel 应用程序从服务器移至 Vapor。此应用程序依赖于使用日志记录请求IP地址Request::ip()
,但自从切换到 Vapor 后,所有 IP 都记录为 127.0.0.1。
我查看了可信代理文档https://laravel.com/docs/5.6/requests#configuring-trusted-proxies https://laravel.com/docs/5.6/requests#configuring-trusted-proxies但我们没有设置负载均衡器,因此该解决方案似乎不相关。我怀疑这个 IP 地址来自 Amazon API Gateway。
我们如何得到actual部署在 Vapor 上的应用程序中传入请求的客户端 IP?
我们如何使用 IP 地址的最小示例如下:
public function store(Request $request)
{
$workerIP = $request->ip();
$worker = Worker::create(['ip_address' => $workerIP]);
return view('workers.show')->withWorker($worker);
}
有x-vapor-source-ip
最新 Vapor 核心包 (vapor-core:v2.2.1) 中的标头公开了 LambdasourceIp
属性,以便安全地获取客户端的真实ip。
您可以检索 ip:
Request::header('x-vapor-source-ip')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)