我最近将一个 Laravel 应用程序从服务器移到了 Vapor。此应用依赖于使用 记录请求 IP 地址Request::ip()
,但自从切换到 Vapor 后,所有 IP 都记录为 127.0.0.1。
我查看了https://laravel.com/docs/5.6/requests#configuring-trusted-proxies上的 Trusted Proxy 文档,但我们没有设置负载均衡器,因此该解决方案似乎不相关。我怀疑这个 IP 地址来自 Amazon API Gateway。
我们如何在 Vapor 上部署的应用程序中获取传入请求的实际客户端 IP?
下面是我们如何使用 IP 地址的一个最小示例:
public function store(Request $request)
{
$workerIP = $request->ip();
$worker = Worker::create(['ip_address' => $workerIP]);
return view('workers.show')->withWorker($worker);
}