Laravel Livewire 3 文件上传不适用于负载均衡器

问题描述 投票:0回答:1
尝试在生产环境中上传文件时,Livewire 的

/livewire/upload-file

 端点返回 
HttpException
,状态代码为 401。

在本地主机上它工作正常。在生产环境中我们使用 haproxy 负载均衡器。

Livevire 的

FileUploadController.php:handle()

 第 21 行抛出异常:

abort_unless(request()->hasValidSignature(), 401);
    
laravel file-upload load-balancing laravel-livewire
1个回答
0
投票
出于安全原因,Livewire 通过将请求的 URL 与实际 URL 进行比较来检查请求是否未被操纵。

如果您向应用程序发送 HTTPS 请求,并且您的生产环境使用通过 HTTP(而非 HTTPS)与应用程序服务器通信的负载均衡器,则 URL 比较将失败,并且

hasValidSignature()

 
返回 false

要解决此问题,请更新您的负载均衡器设置

,以向传入应用程序的每个请求添加标头 X-Forwarded-Proto 和值

https
    

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