Nginx错误:(13: Permission denied) while reading upstream

前后端分离项目(前端:vue)

问题描述:多次点击文件下载,存在下载成功,也存在报错(网络异常)

报错:
2018/09/03 11:16:28 [crit] 19371#0: *16862965 open()"/data/server/nginx/proxy_temp/2/26/0000000262" failed (13: Permission denied) whilereading upstream, client: IP(*.*.*.*), server: admin........, request: "POST/apis/excel/export HTTP/1.1", upstream: "http://IP(*.*.*.*):8080//excel/export", host: "admin", referrer: "http://admin.cn/"

当代理文件大小超过配置的proxy_temp_file_write_size值时,nginx会将文件写入到临时目录下(默认为/proxy_temp)。

当查看nginx的worker权限的时候,发现是www权限,所以要看生成落地文件的文件夹权限是不是www权限。

然后发现启动nginx的权限是www,转发的节点有些proxy_temp文件夹是root权限,所以无法写入,导致报错。

解决

调整/proxy_temp权限为配置nginx的那个用户。

chown -R www:www /data/server/nginx/proxy_temp

注:nginx 反向代理参数说明

proxy_connect_timeout 600; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_read_timeout 600; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_send_timeout 600; #后端服务器数据回传时间(代理发送超时)
proxy_buffer_size 32k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值