Nginx线上请求故障分析

Nginx线上请求故障分析

   点关注不迷路,欢迎再访!	

精简博客内容,尽量已行业术语来分享。
努力做到对每一位认可自己的读者负责。
帮助别人的同时更是丰富自己的良机。

一.配置参数

配置参数:

​ 1)配置请求体缓存区大小
​ client_body_buffer_size 10m;

​ 2)配置客户端上传限制最大值
​ client_max_body_size 20m;

3)配置客户端下载限制最大值
proxy_max_temp_file_size 5000m;

​ 4)设置临时文件存放路径(可选配置)
​ client_body_temp_path /data/temp;

​ ps:设置临时文件存放路径。只有当上传的请求体超出缓存区大小时,才会写到临时文件中,注意临时路径要有写入权限

配置设置:

​ 1)在http{ }中设置:client_max_body_size 20m;

​ 2)选择在server{ }中设置:client_max_body_size 20m;

​ 3)选择在location{ }中设置:client_max_body_size 20m;

​ 区别:http{} 中控制着所有nginx收到的请求;而报文大小限制设置在server{}中,则控制该 server收到的请求报文大小,同理,如果配置在location中,则报文大小限制,只对匹 配了location 路由规则的请求生效。

二.工作问题案例分析

在前端发起一个post请求,当body数据量较多时发现请求失败,后端无法获取请求流量日志,F12监控请求发现head请求异常,错误如下:

<body>
<h1>An error occurred.</h1> 
<p>Sorry, the page you are looking for is currently unavailable.<br/>Please try again later.</p > 
<p>If you are the system administrator of this resource then you should check the error log for details.</p >
<p><em>Faithfully yours, nginx.</em></p > 
</body>

通过日志分析可以看出是请求中间层nginx异常导致请求失败,查看nginx日志发现请求失败,失败原因请求body超出缓存区大小,没有写入临时文件权限导致异常;

三.解决方案

开启临时路径文件写入权限即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值