net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) 报错

这篇具有很好参考价值的文章主要介绍了net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) 报错。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题描述

最近现场实施人员反馈有个功能不能正常使用,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)最终查到占用空间最大的文件,根据自己的实际情况进行删除无用的文件
df -h

net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) 报错
net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) 报错
net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) 报错
net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) 报错

2、nginx缓存文件读取时没有权限(Permission denied)

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

[crit] 275197#0: *1543 open() “/usr/local/nginx/proxy_temp/4/30/0000000304” failed (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用户net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) 报错

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

1、打开Nginx配置文件。默认情况下,Nginx配置文件位于/etc/nginx/nginx.conf。

2、在配置文件中找到“worker_processes”行,该行设置了工作进程的数量。在此行下面添加以下内容:

 user yourusername;

其中,yourusername是您要用于运行Nginx的用户名。

3、保存并关闭文件。

4、检查Nginx配置文件是否存在语法错误。可以使用以下命令:

   nginx -t

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

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

sudo systemctl restart nginx

现在,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才会从上游服务器获取更多的响应。

需要注意的是,这些代理缓冲区配置项可以根据具体情况进行调整,以达到最佳的性能和资源利用率。文章来源地址https://www.toymoban.com/news/detail-424999.html

到了这里,关于net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) 报错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • response的Content-Length设置错误,导致springboot文件下载,代码已经return,postman一直等待到超时

    最近在工作中遇到了文件下载的需求, 期初以为也很简单, DownloadController 启动后访问,localhost:8080/download 请求处理完后,postman 一直在等待, response的head儿中设置了content-length,导致写出的数据不相等时, postman 便一直等待,直至超时, 已写出的数据就是byte字节数组,后台

    2024年01月17日
    浏览(64)
  • net::ERR_EMPTY_RESPONSE错误已解决

    在部署系统的时候,本地ip正常,外网出现net::ERR_EMPTY_RESPONSE错误,检查外网ip是否ping的通,本人遇到的情况是因为外网ip ping不同才出现这种情况,目前已解决

    2024年02月06日
    浏览(39)
  • post请求报错 net::ERR_CONNECTION_REFUSED AxiosError code: “ERR_NETWORK“

    post请求接口报错net::ERR_CONNECTION_REFUSED,AxiosError中 code: \\\"ERR_NETWORK\\\"。百度了有说跨域有说请求格式不对,我的跨域已经在nodejs中设置了cors,还是不知道什么原因 查看network发现请求了两次接口,百度说 strict-origin-when-cross-origin 跨域报错,按照说的操作还是不行  最后看是请求头

    2024年02月11日
    浏览(40)
  • 接口请求报错 net::ERR_EMPTY_RESPONSE

    使用fetch请求接口,控制台报错net::ERR_EMPTY_RESPONSE。 但是使用Swagger请求接口正常, 使用Postman请求接口也正常。 是不是因为浏览器多重跨域导致。因为当前项目后端地址涉及多重转发。 是不是因为Access-Control-Allow-Header, 没有允许对应的请求头参数。 是不是因为Access-Control-Al

    2023年04月08日
    浏览(66)
  • 前端请求报错net::ERR_INCOMPLETE_CHUNKED_ENCODING

    项目后端程序运行环境为centos7.6。 首先是前端页面中大小为160多KB以上的图片均无法加载,且后端程序捕获到异常 IOException,查看前端请求发现内存较大的图片均请求响应状态为200,但返回 failed,net::ERR_INCOMPLETE_CHUNKED_ENCODING,并且后端频繁出现tcp管道断开重连异常 ①考虑较

    2024年02月04日
    浏览(63)
  • 前端报错net::ERR_ABORTED 404的解决方案

    本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 在IDEA项目中添加了新的前端资源,例如:CSS、JS等。在页面中对新资源进行引用时报错net::ERR_ABORTED 404。 在此,提供几种该问题的常见解决方法。 请检查资源引入的路径;确保资源路径的准确。 请保证引入JS时

    2024年02月15日
    浏览(37)
  • Vue2 跨域问题报错AxiosError net::ERR_FAILED、 Network Error、ERR_NETWORK

    请求场景: 当前页面URL:http://127.0.0.1:8000/testcase 跳转请求页面URL:http://127.0.0.1:5000/testcase_orm 使用axios请求 时 页面提示跨域报错 跨域报错信息 Access to XMLHttpRequest at ‘http://127.0.0.1:5000/testcase_orm’ from origin ‘http://localhost:8080’ has been blocked by CORS policy: No ‘Access-Control-Allow-O

    2024年01月23日
    浏览(69)
  • flutter android Webview 打开网页错误ERR_CLEARTEXT_NOT_PERMITTED 、 net:ERR_CACHE_MISS

    前言:当你在Flutter应用中,使用WebView尝试打开的网页时,android环境可能会遇一些问题 原因:Android 9及更高版本,默认情况下,禁止应用程序通过非安全的明文HTTP连接进行网络通信。为了解决这个问题,你可以采取以下三种方法之一: - 将你的网页迁移到使用HTTPS连接。这是

    2024年02月14日
    浏览(41)
  • Android——WebView加载失败,提示“net::ERR_CLEARTEXT_NOT_PERMITTED”

    Android——WebView加载失败,提示“net::ERR_CLEARTEXT_NOT_PERMITTED” 在Android开发中,使用WebView控件加载网页是一种常见的需求。然而,有时当我们尝试加载某些网页时,WebView可能会报错并提示“net::ERR_CLEARTEXT_NOT_PERMITTED”。这个错误表示我们试图加载的网页使用了不安全的HTTP连接

    2024年01月22日
    浏览(75)
  • Android WebView加载失败,显示net::ERR_CLEARTEXT_NOT_PERMITTED

    在Android应用程序中使用WebView加载网页时,有时可能会遇到net::ERR_CLEARTEXT_NOT_PERMITTED错误。该错误提示明文传输不允许,通常发生在应用程序尝试加载不安全(未加密)的HTTP链接时。本文将介绍如何解决这个问题,并提供相关的源代码示例。 Android 9(API级别28)及更高版本默

    2024年01月17日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包