一、问题描述

F12查看浏览器的控制台,提示net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) ,如下图,

HTTP状态码206表示“部分内容”(Partial Content),表示服务器成功处理了部分客户端的请求。通常情况下,这个状态码是在客户端通过HTTP Range头部请求部分资源时返回的。如果服务器不支持范围请求的话,下面几个原因可能会导致这个问题出现

二、可能原因

  1. 服务器的磁盘满了,导致应用不能正常使用。
  2. nginx缓存文件读取时没有权限(Permission denied)。
  3. nginx的代理缓存区太小。

三、问题解析及解决方案

1、 服务器的磁盘满了,导致应用不能正常使用

 (1)df -h 命令查看磁盘的使用情况
(2)进入根路径,使用 du -sh * 命令查看哪个文件夹占用多
(3)发现usr文件夹占用最多,进入usr文件夹,再次执行 du -sh * 查询usr文件夹下占用大的文件夹,以此类推
(4)最终查到占用空间最大的文件,根据自己的实际情况进行删除无用的文件

2、nginx缓存文件读取时没有权限(Permission denied)【我的是这个的问题,改了以后就好了!!!】

在单独打开hearder中css,js的网络地址是能打开的,所以排除了最简单的地址错误。前端项目是由nginx代理的,所以可以查看nginx的日志,进入${NGINX_HOME}\logs,查看error.log,得到如下信息:

(13: Permission denied) while reading upstream。如下图

(1)proxy_temp文件夹是什么,做什么用的

Nginx通过代理缓存(proxy cache)提高了其反向代理服务器的性能。proxy cache是一种将反向代理服务器的响应缓存在本地磁盘上的技术,可以缓解上游服务器的压力并提高客户端的访问速度。

为了实现proxy cache功能,Nginx需要将代理服务器响应的数据写入本地磁盘上的临时文件。这些临时文件存储在proxy_temp文件夹中,以便于Nginx进行管理和维护。

proxy_temp文件夹中的临时文件由Nginx自动管理,当缓存不再需要时,Nginx会自动将其删除,以避免占用过多的磁盘空间。

(2)进入/usr/local/nginx/proxy_temp 文件夹,查看文件夹权限和nginx的用户

发现proxy_temp 文件夹的所有者是nobody用户,nginx是root用户

修改nginx配置文件,声明使用者

1、打开Nginx配置文件。默认情况下,Nginx配置文件位于/etc/nginx/nginx.conf,注释掉user  nobody;

其中,Nginx的用户名可以自定义。此处示例root用户启动nginx

#user nobody;
user root;

2、将nginx路径下所有文件所有者改成root用户(示例root用户)

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

3、检查Nginx配置文件是否存在语法错误(nginx配置文件没问题,可跳过)。可以使用以下命令:

nginx -t

如果配置文件没有语法错误,将输出“nginx: configuration file /etc/nginx/nginx.conf test is successful”。

5、重启Nginx服务以使配置更改生效。可以使用以下命令:

sudo systemctl restart nginx

3、nginx的代理缓存区太小

在nginx.conf.js文件的http配置添加下面三行代码,然后保存重启nginx即可

proxy_buffer_size 128k;
proxy_buffers 32 128k;
proxy_busy_buffers_size 128k;

具体解析:
(1)proxy_buffer_size: 这个指令设置单个代理缓冲区的大小。它用于指定Nginx在向客户端发送响应之前缓冲区中存储的最大字节数。默认情况下,这个值为4K。
例如,如果您将proxy_buffer_size设置为128k,当Nginx代理从上游服务器接收响应时,它将使用最大128K的缓冲区存储响应,然后将其发送到客户端。

(2)proxy_buffers: 这个指令设置代理缓冲区的数量和大小。代理缓冲区是一种用于存储从上游服务器接收到的响应的内存区域。proxy_buffers指令由两个参数组成:缓冲区数量和每个缓冲区的大小。默认情况下,Nginx使用8个缓冲区,每个缓冲区大小为4K。
例如,如果您将proxy_buffers设置为32 128k,Nginx将使用32个缓冲区,每个缓冲区大小为128K。

(3)proxy_busy_buffers_size: 这个指令设置代理缓冲区中可用于存储响应的最大字节数。当Nginx在向客户端发送响应时,它将从代理缓冲区中取出缓冲区,如果缓冲区大小小于proxy_busy_buffers_size,则Nginx将尝试从上游服务器获取更多的响应,并将其存储在另一个缓冲区中。
例如,如果您将proxy_busy_buffers_size设置为128k,当Nginx代理使用缓冲区向客户端发送响应时,它将从代理缓冲区中取出缓冲区,并且只有在缓冲区大小小于128K时,Nginx才会从上游服务器获取更多的响应。

需要注意的是,这些代理缓冲区配置项可以根据具体情况进行调整,以达到最佳的性能和资源利用率。

Q:浏览器打开控制台报错:net::ERR_CONTENT_LENGTH_MISMATCH 206的更多相关文章

  1. 关于浏览器访问iLO报错ERR_SSL_BAD_RECORD_MAC_ALERT

    公司有几台HP DL380 G7服务器,ilo版本是ilo3(Integrated Lights-Out 3),ilo口配置好后,无法正常打开ilo页面 ping ilo口是通的,并且telnet 8 ...

  2. Chrome 控制台报错Unchecked runtime.lastError: The message port closed before a response was received

    Chrome浏览器控制台报错提示 Unchecked runtime.lastError: The message port closed before a response was received ...

  3. 特殊字符导致jquery-mobile 挂起(firefox控制台报错 malformed URI sequence)

    同事遇到一个问题,刷新页面导致页面挂起,浏览器控制台报错 malformed URI sequence, 经排查发现是引用jquery-mobile js引起的问题, 有一些中文参数在url中,当页面 ...

  4. Chrome控制台报错个人总结(不定时更新)

    最近开始使用Chrome控制台检测代码错误,对于经常碰到的报错做一个汇总,免得每次遇到都要重新想一遍策略,错误原因,重复劳动,浪费时间. 由于不是每个错误都能碰到,以下仅列出个人写代码时经常碰到的报错 ...

  5. Selenium打开IE报错“Protected Mode settings...”解决方法

    最近在使用Selenium打开IE浏览器碰到以下报错:

  6. 填坑——audio不能正常播放,控制台报错 Uncaught (in promise) DOMException

    原文:https://blog.csdn.net/Mariosss/article/details/87861167 用chrome调试页面时,发现audio控件有时不能正常播放音频,控制台报错 Un ...

  7. vue开发中控制台报错问题

    1.sockjs.js?9be2:1606 GET http://localhost:8566/sockjs-node/info?t=1569478261510 net::ERR_CONNECTION ...

  8. 开着idea,死机了,关机重启。重启之后,重新打开idea报错java.lang.AssertionError:upexpected content storage modification

    开着idea,死机了,关机重启.重启之后,重新打开idea报错java.lang.AssertionError:upexpected content storage modification. goo ...

  9. 打开eclipse报错:发现了以元素 'd:skin' 开头的无效内容。此处不应含有子元素。

    [错误] 打开eclipse报错:发现了以元素 ‘d:skin’ 开头的无效内容.此处不应含有子元素. [具体报错信息] Error parsing D:\Android-sdks\system-im ...

  10. 登录DSCCC控制台报错提示:安装错误代码: 3

    登录DSCCC控制台报错内容:读取安装配置时出错 检查目录服务控制中心状态时出现意外错误. 显示详细资料 隐藏详细资料 安装错误代码: 3 堆栈: com.sun.directory.common.s ...

随机推荐

  1. 深入源码之JDK Logging

    JDK从1.4开始提供Logging实现,据说当初JDK打算采用Log4J的,后来因为某些原因谈判没谈拢,然后就自己开发了一套,不知道是为了报复而故意不沿用Log4J的命名方式和抽象方式,还是开发这个 ...

  2. PySAGES实记

    技术背景 PySAGES是一款可以使用GPU加速的增强采样插件,它可以直接对接到OpenMM上进行增强采样分子动力学模拟,这里我们测试一下相关的安装,并尝试跑一个简单的增强采样示例. 安装PySAGE ...

  3. 子组件监听props中的值,监听不到旧值的相关问题

    昨天,在项目中做一个功能,一个tab切换,点击其中一个tab的时候,调用组件中的查询方法,切只调用一次.再次切换的时候不再调用. 我的做法是: 在父组件中创建一个变量,初始化data中设为0,在点击t ...

  4. 文件监控工具之fileboy

    github:dengsgo/fileboy: fileboy,文件变更监听通知工具,使用 Go 编写.Fileboy, File Change Monitoring Notification Too ...

  5. 【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(6)

    1.问题描述: 推送通知到手机,怎么配置拉起应用指定的页面? 解决方案: 1.如果点击通知栏打开默认Ability的话, actionType可以设置为0, 同时可以在.clickAction.dat ...

  6. 使用gulp 压缩js

    js 编写后文件太大,可以使用gulp 来进行压缩. 具体步骤如下: 1.创建一个工作目录 在该目录下安装 gulp npm install gulp 安装gulp-uglify 模块 npm ins ...

  7. WinForm(C/S)项目中使用矢量字体(FontAwsome、Elegant)图标

    1.介绍 字体图标在Web应用中最为常见,字体图标是矢量的,矢量图意味着每个图标都能在所有大小的屏幕上完美呈现,可以随时更改大小和颜色,而且不失真.字体图标常见的有Font Awesome和Elega ...

  8. 【Amadeus原创】Docker容器的备份与还原

    主要作用: 就是让配置好的容器,可以得到复用,后面用到得的时候就不需要重新配置. 其中涉及到的命令有: docker commit 将容器保存为镜像 docker save -o 将镜像备份为tar文 ...

  9. 记一个注意事项:从 forEach argument 返回的 Promise 被忽略

    举例说明: const arr = [1, 2, 3] arr.forEach(async item => { // ... }) 上面的代码校验会出一个警告,从 forEach argumen ...

  10. 题解:P11007 『STA - R7』Odtlcsu

    有个很显然的结论,题目中的 $x$ 与 $y$ 奇偶性相同. 有个更简单的证明,奇数的平方为奇数,偶数的平方为偶数,所以 $x$ 与 $y$ 奇偶性相同. 思路就显而易见了,考虑构造一个长度为 $y$ ...