[ nginx ] 代理后端tomcat 无法显示图片报错:ERR_CONTENT_LENGTH_MISMATCH

问题日志如下:

网络架构图:

  这是一个微信公众号的业务,开发部的同学发来了war包,要求部署。部署完成后,发现首页背景图片无法显示,因为这次是版本升级,不存在很大的问题。直接就把问题锁定到图片的尺寸上。

发现图片1.5M 大小,经过压缩再次打包部署。背景图片显示正常。

经过这次事件,作为运维同学必须要搞清楚状况。

  1. 从war包开始查找问题,本地直接访问tomcat,背景图是可以正常显示的

  2. 开始从前端nginx排查,检查日志发现如下图。

查看了下网上资料,解决方法如下:

  通过查看日志,最终问题是出现在目录权限上: /usr/local/nginx/proxy_temp

  1. 用root用户运行nginx (这种方式不可取)

  2. 将proxy_temp目录的owner设置为nginx用户

  3. 将proxy_temp目录的group设置为nginx组

  4. 禁止cache

通过这4种方式,可以解决该问题,其中最靠谱的当然是3、4 。

[[email protected] ~]# groupadd -g 800 www
[[email protected] ~]# useradd -u 800 -g 800 -s /sbin/nologin www

编译时,指定 --user=www --group=www

修改权限:

chown -R root:www proxy_temp
chmod -R 750 proxy_temp

  或者直接要求开发把图片进行压缩处理。 建议将图片压缩进行处理,这样可以节省大量带宽。

时间: 2024-10-07 20:23:29

[ nginx ] 代理后端tomcat 无法显示图片报错:ERR_CONTENT_LENGTH_MISMATCH的相关文章

android studio 报错-----R全部显示红色 ---- .9图片报错

导入android项目后,R全部变红,控制台有下面的提示 意思是缺少一些资源,比如说图片之类的,然后我发现确实少了一张图片资源,导入图片资源后,依旧报错,如下  Error:Execution failed for task ':generalAPPN:mergeDebugResources'.  查阅了一些资料,发现是由于.9 png图片有问题,android studio "点九"是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png 智能手机中有自动

windows平台在tomcat中启动cas报错解决

windows平台在tomcat中启动cas报错: Caused by: java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no jansi in java.library.path, 系统找不到指定的路径.] 解决办法:将jansi.dll文件放到C:\Windows\System32目录下即可. 注意:jansi.dll文件在使用gradle编译打包cas时会下载到C:\Users\${用户名}\.gradle

利用Tomcat部署Web项目报错

1.错误描述 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help | start | stop } 八月 18, 2014 7:35:40 下午 org.apache.catalina.core.AprLifecycleListener init 信息: Loaded APR based Apache Tomcat Native library 1.1.24 u

tensorflow读取jpg格式图片报错 ValueError: Only know how to handle extensions: ['png']; with Pillow installed matplotlib can handle more images

当运行mpimg.imread("img.jpg")时,spyder 出现如下错误: ValueError: Only know how to handle extensions: ['png']; with Pillow installed matplotlib can handle more images 解决办法就是  安装pillow即可 我是在anaconde里安装的很简单,执行如下步骤即可: tensorflow读取jpg格式图片报错 ValueError: Only kn

nginx代理,tomcat部署服务器,后端获取客户端真实ip

1.环境部署说明 后端部署在tomcat服务器上,前端用nginx做代理访问 tomcat部署目录 nginx配置: upstream wcfront{     server  localhost:8991;//后台接口 } server {     listen       8998;//h5访问接口     server_name  192.168.2.37;     charset utf-8;     proxy_set_header Host $host:$server_port;  

使用apache和nginx代理实现tomcat负载均衡及集群配置详解

实验环境: 1.nginx的代理功能 nginx proxy: eth0: 192.168.8.48 vmnet2 eth1: 192.168.10.10 tomcat server1: vmnet2 eth0: 192.168.10.20 tomcat server2: vmnet2 eth0: 192.168.10.30 # yum install -y nginx-1.8.1-1.el6.ngx.x86_64.rpm # vim /etc/nginx/conf.d/default.conf

web页面上展示图片时,图片不显示,报错:ERR_CONTENT_LENGTH_MISMATCH

问题描述 前端页面加载css,和js文件的时候,经常出现ERR_CONTENT_LENGTH_MISMATCH的报错情况. 查找问题 在单独打开hearder中css,js的网络地址是能打开的,所以排除了最简单的地址错误.前端项目是由nginx代理的,所以可以查看nginx的日志,看看有无线索. 进入${NGINX_HOME}\logs,查看error.log,得到如下信息: 2018/07/13 14:22:49 [crit] 275197#0: *1543 open() "/usr/loca

linux:记录一次 处理tomcat启动卡死无报错现象的曲折过程

一.环境 系统:CentOS 5.5 tomcat 6.0 jdk1.6 二.问题现象     我们公司近期请人做的某个项目的一期要完成了,因对方负责java开发的工程师都不懂linux,而且也没有专职的linux工程师,最后的最后就是只能我来部署了,刚开始也没觉得会有多麻烦,按以往的套路来就好了嘛,好吧,先把项目在我本地环境(windows)跑一下,然而...... ........(省略因开发环境不一样造成的揪心过程,还有对方代码的各种坑,然而我还拿不到源文件..) 一翻折腾,终于在本地运行

ElKstack-解决nginx日志url链接包含中文logstash报错问题

logstash报错现象 Trouble parsing json {:source=>"message", :raw=>"{\"@timestamp\":\"2016-05-30T14:51:27+08:00\",\"host\":\"10.139.48.166\",\"clientip\":\"180.109.110.203\",\"