解决问题:net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content)
Posted Data-Mining
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决问题:net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content)相关的知识,希望对你有一定的参考价值。
目录
- 问题
- 解决
- 尝试一、猜测可能是证书问题
- 尝试二、修改 nginx 访问路径
- 尝试三、修改 nginx 缓存大小
- 结尾
问题
今天遇到一个问题,Web 播放器在播放对象存储服务中的某个视频文件时,总是不断的报错 206(Partial Content),具体的信息如下:
net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content)
造成的结果就是视频播放失败。
播放器报错截图如下:
但是,奇怪的有些局域网的播放器虽然报错,但是却可以正常播放,非常奇怪,如下图所示:
解决
解决这个问题,自己尝试了很多方法。
尝试一、猜测可能是证书问题
猜测可能是证书问题,因为在浏览器中访问服务接口时,浏览器提示证书不可用,点开后发现实际访问的域名和证书颁发的域名不对应。于是,自己猜测是证书不匹配导致的。
后来,自己替换了 nginx 服务引用的证书以及存储服务引用的证书,结果很遗憾,问题依然存在。
尝试二、修改 nginx 访问路径
于是,自己猜测是不是资源没有找到,于是自己修改了 nginx 配置的访问路径。具体修改方式如下所示:
location ^~ /test {
root /minio/data/test/;
proxy_pass http://minio-api;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
然而,再次重试,问题依然存在。哎!
不禁感叹:“路漫漫其修远兮,吾将上下而求索”。
尝试三、修改 nginx 缓存大小
通过大量搜索,找到了一种最可能的解决方法,就是修改 nginx 缓存大小。我为什么这么觉得呢? 因为相同的视频文件在有些局域网中可以播放,有些局域网中不可以播放,很有可能就是缓存大小不一致导致的。
修改 nginx 基础配置文件如下:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
proxy_buffer_size 128k;
proxy_buffers 32 128k;
proxy_busy_buffers_size 128k;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
其中关键的信息是下面的三项:
proxy_buffer_size 128k;
proxy_buffers 32 128k;
proxy_busy_buffers_size 128k;
复制代码
这里需要注意的是,个性配置在容器外,修改基础配置到要容器中,路径如下:
/etc/nginx/nginx.conf
结尾
今天介绍的内容就这么多,下一篇文章继续介绍这三项设置都有什么作用。好了,晚安!
作者简介:大家好,我是 Data-Mining(liuzhen007),是一位音视频技术爱好者,同时也是CSDN博客专家、华为云社区云享专家,欢迎关注我分享更多干货!
以上是关于解决问题:net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content)的主要内容,如果未能解决你的问题,请参考以下文章