[ 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 。

 

[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

 

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

转载于:https://www.cnblogs.com/hukey/p/5799066.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值