base64过大请求直接返回500或者连接断开close

当重启Nginx后,部分大POST请求出现500错误,原因是Nginx配置的用户没有client_body_temp目录的权限。解决方案包括:使用Nginx默认用户、以root用户运行Nginx或修改_temp目录权限。例如,将nginx.conf中user行改为user root,并调整worker_processes、worker_connections等配置,确保目录权限为770。

问题

在重启了nginx发现部分较大的Post请求出现了500错误,然后,查看Nginx错误日志,类似如下:
nginx open() "/usr/local/nginx/client_body_temp/ failed (13: Permission denied)

原因

查看对应的目录权限,发现nginx.conf 配置的user 用户没有权限。

解决方案

第一种

使用nginx 默认的用户
注释nginx.conf 第一行 为 #user nobody;
重启nginx

第二种

修改nginx.conf 第一行为 user root;
重启nginx,使用root运行nginx;

第三种

修改对应_temp目录权限即可。
chmod 770 fastcgi_temp/ proxy_temp/ scgi_temp/ uwsgi_temp/ client_body_temp/

例子

user  root; #修改这一行
worker_processes auto;
worker_cpu_affinity auto;
worker_rlimit_nofile 65535;


events {
    worker_connections  10240;
    use epoll;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值