Nat*_*han 3 laravel aws-lambda laravel-vapor
我最近将 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);
}
Run Code Online (Sandbox Code Playgroud)
小智 10
x-vapor-source-ip最新的 Vapor 核心包 (vapor-core:v2.2.1) 中有一个标头,它公开了 Lambda 的sourceIp属性,以便安全地获取客户端的真实 IP。
您可以检索IP:
Request::header('x-vapor-source-ip')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1887 次 |
| 最近记录: |