系统大图片报206 Partial Content,minio上传下载正常,图片在浏览器中查看错误无法下载,nginx代理缓冲区解决

912 阅读1分钟

图片查看加载预览失败,图片报206 Partial Content,minio上传正常 图片在浏览器中查看错误,加载一部分或显示无法查看

bug表现:1、系统中使用到的图片查看失败 ,下载失败 ,但在minio控制台上传下载正常

存在bug环境:所有服务安装在同一docker容器内(minio)

正常环境:minio在单独的容器内

image.png 2:图片无法下载 image.png

解决方向 :

1.minio桶策略————————————查看两个环境的minio控制台均为【Read and Write】,所以排除此项

image.png

2.图片上传至minio时,Content-Type 不一致可能会导致图片无法在浏览器预览,经查看(Content-Type:Image/Jpeg)此项排除

image.png

3.nginx端口代理导致的206 Partial Content

上游服务器响应是以流的形式返回,返回的是一部分即Range请求

解决方法:配置 Nginx 的代理缓冲区

image.png

在你的nginx配置文件中配置缓冲区

nginx.conf 文件:

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

修改配置文件后记得重载nginx

上述几个参数的含义

  • proxy_buffer_size: 设置单个缓冲区的大小,用于存储代理服务器从上游服务器接收的数据。
  • proxy_buffers: 设置用于存储数据的缓冲区数量和大小。
  • proxy_busy_buffers_size: 设置当所有缓冲区都被使用时,Nginx 能够继续使用的额外内存大小

最后用一张5MB的 图片测试 状态均为200

image.png