Php 使用Laravel验证阵列时出现NGINX坏网关错误
我有个奇怪的问题。我的应用程序中的一切都很好,包括简单的验证规则 然而,当我尝试验证一个数组时,NGINX给了我一个Php 使用Laravel验证阵列时出现NGINX坏网关错误,php,laravel,nginx,Php,Laravel,Nginx,我有个奇怪的问题。我的应用程序中的一切都很好,包括简单的验证规则 然而,当我尝试验证一个数组时,NGINX给了我一个502坏网关错误 例如,这很好: $this->validate($request, [ 'name' => 'required', ]); 但这会导致坏网关错误: $this->validate($request, [ 'steps.*.name' => 'required', 's
502坏网关
错误
例如,这很好:
$this->validate($request, [
'name' => 'required',
]);
但这会导致坏网关错误:
$this->validate($request, [
'steps.*.name' => 'required',
'steps.*.title' => 'required',
'steps.*.type' => 'required',
'steps.*.answer_options' => 'nullable|required_if:steps.*.type,Question',
'steps.*.input_type' => 'nullable|required_if:steps.*.type,Input',
]);
我已尝试在服务器配置中增加内存限制等,但没有解决任何问题…我如何更正此问题并确保它不会发生在生产服务器上?似乎只有在您有大量POST请求时才会出现问题。能否尝试将这些添加到
nginx.conf
文件中:
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
如果需要,您可以根据POST数据的大小增加值。数组有多大?你能试着只提交一条记录吗?有趣的是,你应该问,如果我把数组变小了,我不会得到坏的网关错误。请检查下面的答案nginx的错误日志中是否有错误?以下命令的输出是什么?sudo tail-30/var/log/nginx/error.log在
nginx.conf
的http
部分添加了这个,运行brew服务重新启动nginx
,结果没有什么区别。我在从上游读取响应头时发现这个错误-上游发送了太大的头
@kejodion,我更新了我的答案,请检查我上面的答案。这样做有效,我不再获得502
,但如果POST数据太大,它将从请求中完全消失。你知道什么设置可以解决这个问题吗?我想这是一个php.ini
问题,你能编辑你的php.ini
并增加你的post\u max\u大小
和上传\u max\u文件大小
吗。