post接口使用get方式请求返回413 问题
有一个留资接口,使用post方式请求。参数:province, city, area等几个参数。
我对接口的请求方式进行了判断,如果不是post方式,我会返回错误信息,提示“请求非法”
我使用get方式请求接口进行测试,
(1)参数以querystring的方式传,提示“请求非法”(是我的预期)
(2)参数以请求体(x-www-form-urlencoded)的方式传,就会出现413 Request Entity Too Large。我以前在上传文件的时候会遇到这种问题,但我这里没有传文件。我在网上搜索到的答案基本上也都是修改nginx的配置。我的nginx配置如下(我认为足够了):client_max_body_size 50m; client_body_buffer_size 10m;
忘记说了,我在本地环境测试,以上两种情况都能提示“请求非法”(符合我的预期)。但是代码提到测试服后就会出现上述413的情况。(本地环境是PHPstudy,PHP版本:7.1. 测试环境PHP版本 7.1 都是lnmp)
我的问题就是,测试服上如何处理413 的问题,达到我的预期?
贴上相关代码如下(公司框架用的是tp6)
Route::miss(function () { if (!(new \think\Request())->isPost()) { return json(['code' => 40000, 'msg' => '请求非法']); } return json(['code' => 40000, 'msg' => '您的请求不存在']); });
你得去看看nginx 的 access.log 日志,搞不好是 临时文件写入权限都没有。