如何在Laravel Vapor应用程序中获取HTTP请求的IP?

问题描述 投票:0回答:1

我最近将Laravel应用程序从服务器移到了Vapor。此应用程序依赖于使用Request::ip()记录请求IP地址,但是由于切换到Vapor,所有IP都记录为127.0.0.1。

我已经查看了https://laravel.com/docs/5.6/requests#configuring-trusted-proxies处的Trusted Proxy文档,但是我们没有设置负载均衡器,因此该解决方案似乎不相关。我怀疑该IP地址来自Amazon API Gateway。

我们如何在Vapor上部署的应用程序中获得传入请求的actual客户端IP?

下面是我们如何使用IP地址的最小示例:

public function store(Request $request)
    {
        $workerIP = $request->ip();
        $worker = Worker::create(['ip_address' => $workerIP]);
        return view('workers.show')->withWorker($worker);

    }
laravel aws-lambda vapor
1个回答
0
投票

“我们没有设置负载均衡器”是的,您知道。从根本上说,API网关是完全与可信代理配置所针对的代理。

'proxies' => '*'文件中设置config/trustedproxy.php,您应该开始看到正确的IP地址。

© www.soinside.com 2019 - 2024. All rights reserved.