nginx反向代理严重错误[crit] (13: Permission denied) while reading upstream问题

news2024/12/22 23:02:25

nginx作为使用最广泛的一款反向代理软件,其性能也是非常优秀的,一般情况下,直接配置就可以使用,而且也都是稳定高效的,但是在实际应用中,对于不同的应用场景,总是会出现各种各样的问题,只能遇到问题再查找解决问题的解决办法了。

1、现象

前端页面提示打开文件失败:

意思就是加载文件失败。

https://bull.lab/owa/prem/15.1.1979.3/scripts/boot.owaframe.0.narrow.js?bo=1

直接打开文件的时候,文件是可以正常访问的。

查看error.log报错信息:

2024/07/30 15:29:02 [crit] 9021#9021: *251268 open() "/var/lib/nginx/tmp/proxy/6/66/0000000666" failed (13: Permission denied) while reading upstream, client: 10.8.13.42, server: bull.lab, request: "GET /owa/prem/15.1.1979.3/scripts/boot.owaframe.3.narrow.js HTTP/1.1", upstream: "https://10.11.24.44:443/owa/prem/15.1.1979.3/scripts/boot.owaframe.3.narrow.js", host: "bull.lab"

2、原因分析

从错误信息来看,nginx是在写代理 临时文件目录 temp下文件时候出现了权限不足 Permission denied

没有配置:proxy_temp_file_write_size属性。属性作用:当你访问资源信息超过该参数设置的大小时,nginx会先将文件写入临时目录(这里是:/var/lib/nginx/tmp)。所以这里我们可以配置该属性重启nginx解决问题。但这不是问题证明解决方法。即无权限问题,我们查看进程及文件目录用户属性。

查看对应的目录权限:

#: ll /var/lib/nginx/
total 0
drwxr-x--- 7 root root 78 May 31 13:24 tmp

在没有出现问题的机器上是这样的,可以看到目录权限为root。

继续查看另外没有出现问题的机器上的信息如下,可以看到nginx用户具有相关权限。

# ll /var/lib/nginx
drwxrwx--- 7 nginx root 78 Jul 27  2022 tmp

查询进程的执行用户。

# ps -ef | grep nginx
root     29603 25150  0 09:18 pts/1    00:00:00 grep --color=auto nginx
nginx    91485 97955  0 Jul30 ?        00:00:00 nginx: worker process
nginx    91486 97955  0 Jul30 ?        00:00:00 nginx: worker process
nginx    91487 97955  0 Jul30 ?        00:00:00 nginx: worker process
nginx    91488 97955  0 Jul30 ?        00:00:00 nginx: worker process

nginx进程的用户为nginx。

3、解决方法

1、修改proxy_temp_file_write_size限制大小,避免写入临时文件

proxy_temp_file_write_size 64k; #设定缓存文件夹大小

实际上,有时下载文件达到几百K,比如本次遇到问题是的文件原始大小为605K,所以添加这个配置,也只是缓解一般情况下的问题,不解决根本性的问题。
2、修改temp目录用户权限和启动nginx worker权限一致,重新加载配置(nginx -s reload

chown -R nginx:nginx /usr/local/nginx/temp

这种方式是合适的解决办法。

3. 修改nginx的启动用户,在nginx的配置文件nginx.conf文件中

user root;

设置完成后,重新加载配置(nginx -s reload)即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1970238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nanopc-t4线刷Android10编译源码

文章目录 windows线刷Linux编译一撸到底核心编译命令最终Image目录源码和刷机工具放一个目录下线刷走一波,不能有任何报错windows线刷 https://www.myteamcloud.top/?p=266 Linux编译一撸到底 https://blog.csdn.net/wb4916/article/details/134911430 核心编译命令 ./b…

全网首创!基于GaitSet的一种多人步态识别方法公示

有源代码V细聊,可商用/私用/毕设等:NzqDssm16 🍉1 绪论 经过相关研究确认,步态识别是足以达到应用级别的生物识别技术,在现代社会中自始至终都存在着广泛的应用前景。之所以迟迟没有普及,主要是实…

docker配置阿里镜像加速器

‌阿里云镜像加速的核心功能是通过提供官方的镜像站点,加速官方镜像的下载。使用容器时,由于网络原因,下载‌Docker官方镜像可能会需要很长时间,甚至下载失败。阿里云容器镜像服务‌ACR(阿里云容器仓库)为此…

智慧大楼信息化一体化管理整体建设设计方案(可编辑80页PPT)

随着信息技术的飞速发展,智慧大楼已成为现代城市建设的重要趋势。本项目旨在通过信息化一体化管理整体建设设计方案,将大楼内的各个系统进行有机整合,实现智能化、高效化的管理与服务。通过该方案,我们期望提升大楼的运营效率、安…

【网络基础】初识网络 {计算机网络背景;网络协议初识;网络传输基本流程;网络中的地址管理;网络设备简单介绍}

一、计算机网络背景 1.1 网络发展 计算机网络的发展可以追溯到20世纪60年代,那时候最初的计算机网络只是为了让科学家们能够共享计算机资源和数据。但是在20世纪80年代,互联网的出现彻底改变了计算机网络的面貌,使得人们可以随时随地通过互…

昇思25天学习打卡营第XX天|Vision Transformer图像分类

好了👌到我最熟悉的模型了,苦苦缠斗几个月呜呜呜 CLIP预训练数据集薄纱了,这个对齐的思路很好,但是对文本图像长度限制更高,作者很可惜

详细分析nohup后台运行命令

目录 1. 基本知识2. Demo 1. 基本知识 Unix/Linux 命令,用于在后台运行程序,并确保它在用户退出或注销后继续运行 nohup 的主要作用是使程序在终端会话结束后继续运行,这对需要长时间执行的任务特别有用 基本的用法如下: nohu…

计算机网络课程介绍

计算机网络课程的核心内容与应用,涵盖多个关键协议与技术的深入理解,旨在全面培养学生的网络设计、分析及实际操作能力。以下是对该课程的严谨阐述: 一、课程核心原理与应用 本课程详尽阐述了IP协议簇的基本原理与应用,具体涵盖I…

Github 2024-08-02Java开源项目日报 Top9

根据Github Trendings的统计,今日(2024-08-02统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目9Vue项目1Ruby项目1Java设计模式:提高开发效率的正规化实践 创建周期:3572 天开发语言:Java协议类型:OtherStar数量:86766 个Fork数…

ECCV 2024 | 深入探索GAN先验,哈工大、清华提出模型反演新方案

介绍 模型反演(MI)攻击的目的是利用输出信息从已发布的模型中重建隐私敏感的训练数据,这引起了人们对深度神经网络(DNNs)安全性的广泛关注。近年来,生成对抗网络(GANs)因其强大的图像…

4.Rabbon-微服务负载均衡

Rabbon-微服务负载均衡 1.Ribbon是什么1.1 基本概念1.2 主要功能1.3 负载均衡流程1.4 负载均衡策略 2.Ribbon如何使用2.1 基于配置文件的配置:2.2 基于注解的配置: 1.Ribbon是什么 Ribbon是Netflix发布的一个负载均衡器,它主要用于控制HTTP和…

PT4103B23F 白光LED升压转换器芯片IC

一般概述 PT4103是一款升压型DC/DC转换器,设计用于以恒流方式驱动单个锂离子电池中的多达8个串联的白光LED。由于PT4103直接调节输出电流,因此它非常适合驱动发光二极管(LED),其光强度与流经它们的电流成正比,而不是与它们…

Bugku-Web篇:Simple_SSTI_1

1.很简单的模板注入,直接f12查看源代码。 2.这里了解了一下什么是模板注入 这里针对的是flask模板,config是flask模板中的一个全局对象。包含了所有应用程序的配置值。 这里直接在url中写上 ?flag{{config.SECRET_KEY}}

力扣第四十八题——旋转图像

内容介绍 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9…

初识c++:stack和queue详解

本节大纲: #stack和queue详解# 1.容器适配器 2.stack的介绍和使用 2.1 stack的介绍 2.2 stack的使用 3.stack的模拟实现 4.queue的介绍和使用 4.1 queue的介绍 4.2 queue的使用 5.queue的模拟实现 6.priority_queue的介绍和使用 6.1 priority_queue的介绍…

什么是docker?小白也能看懂!

👏大家好!我是和风coding,希望我的文章能给你带来帮助! 🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦 📝点击 我的主页 还可以看到和风的其他内容噢&#x…

什么是低代码?低代码开发和零代码开发的区别?

随着数字化时代的到来,企业对于软件开发的需求日益增长。为了提高开发效率和降低成本,越来越多的企业开始关注低代码和零代码平台,为没有编程背景的用户提供了创建应用程序的能力,极大地简化了开发过程。本文将什么是低代码&#…

企业实现数字化转型到底靠什么?5分钟给你讲明白数字化管理!

在数字化浪潮的推动下,企业数字化转型已不再是选择题,而是企业生存和发展的必答题。各种企业纷纷投入资源,采购各类数字化工具,希望能够借此步入数字化的大门。但是,是不是只要全面升级数字化工具,数字化转…

前端Web-JavaScript(上)

要想让网页具备一定的交互效果,具有一定的动作行为,还得通过JavaScript来实现, 这门语言会让我们的页面能够和用户进行交互。 什么是JavaScript JavaScript(简称:JS) 是一门跨平台、面向对象的脚本语言,是…

软件安全测试内容和方法大揭秘,湖南软件测评公司推荐

在当今信息社会飞速发展的背景下,软件的安全性问题愈发引起人们的重视。软件安全测试,作为提升软件安全性的重要环节,成为众多企业不可或缺的工作之一。 一、软件安全测试的定义与必要性   软件安全测试是指通过对软件进行系统性、全面性的…