[ nginx ] 代理后端tomcat 无法显示图片报错:ERR_CONTENT_LENGTH_MISMATCH
2023-09-27 14:20:24 时间
问题日志如下:
网络架构图:
这是一个微信公众号的业务,开发部的同学发来了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 。
[root@localhost ~]# groupadd -g 800 www
[root@localhost ~]# useradd -u 800 -g 800 -s /sbin/nologin www
编译时,指定 --user=www --group=www
修改权限:
chown -R root:www proxy_temp chmod -R 750 proxy_temp
或者直接要求开发把图片进行压缩处理。 建议将图片压缩进行处理,这样可以节省大量带宽。
相关文章
- URIEncoding与useBodyEncodingForURI 在tomcat中文乱码处理上的区别
- Tomcat进程占用CPU过高怎么办?
- 为在MyEclipse中配置Tomcat服务器郁闷的朋友们解决郁闷
- 提升tomcat服务器性能的七条经验
- Tomcat部署时war和war exploded区别
- Nginx配置https,反向代理多实例tomcat的操作记录
- Nginx反向代理Tomcat访问时浏览器加载失败,出现 ERR_CONTENT_LENGTH_MISMATCH 问题
- Tomcat日常维护笔记 - 运维小结
- Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
- https方式nginx 代理tomcat访问不带www的域名301重定向跳转到www的域名帮助seo集中权重
- [Tomcat/Java EE/Linux]Tomcat启动异常:StandardServer.await: create[localhost:8005]: java.net.BindException: 无法指定被请求的地址
- Linux centos7下设置Tomcat开机自启动
- Tomcat ClassLoader机制介绍
- JavaWeb项目实战(2)安装JDK和Tomcat以及Eclipse构造开发环境
- eclipse Maven构建的project无法公布lib到tomcat的解决方法
- Nginx反向代理两个tomcat服务器
- Servlet/Tomcat/ Spring 之间的关系
- 保姆级tomcat安装与配置(Windows + MacOS)