重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
十余年的雷山网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整雷山建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“雷山网站设计”,“雷山网站推广”以来,每个客户项目都认真落实执行。这篇文章将为大家详细讲解有关Tomcat的maxPostSize属性的配置需要注意哪些问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
需求:
近期要做大文件上传功能,除了修改前端框架上传控件jQuery Uploadify的上传文件限制大小和Spring MVC框架配置的文件上传模块中的MultipartResolver中的文件上传限制大小,还需要去修改Nginx服务器中conf目录下的nginx.conf配置文件中的client_max_body_size属性以及Tomcat服务器中conf目录下的server.xml配置文件中的connectionTimeout属性、maxPostSize属性,以上内容就是我做的修改。
问题:
先是修改Nginx服务器和Tomcat服务器的配置,重启Nginx服务器,再是修改页面和代码后重新部署和运行,然后在页面进行大文件上传操作,然后提交保存都出现了问题,自己怀疑可能是大文件保存出现了问题,忙着去查看服务器上的日志,接着同事又说文件删除功能失效,接下来又有同事说网站登录不上了,输入正确的验证码后报错说是验证码登录过期,,,,各种问题接踵而至,看了半天的服务器日志没有发现问题,还是自己看的不仔细,也没有定位到问题出现在哪里。
排查:
无奈去请求大牛,先是问我修改了哪些东西,我说Nginx服务器和Tomcat服务器的配置我都修改了,大牛看了Linux上的Nginx服务器的配置文件和Tomcat服务器的server.xml配置文件,回头问我maxPostSize=“0”属性的配置是什么意思,我说是HTTP的POST请求下的body大小不做限制,如果不设置的话,缺省的情况下是maxPostSize=“2097152”,也就是2M的大小,因为单位是Byte。大牛接着去查看了相关资料,得知可能是Tomcat版本带来的问题,不同的Tomcat版本maxPostSize属性设置的可能有差异,知道了问题所在,那么就去着手进行配置了。
解决:
百度了下Tomcat maxPostSize这两个关键词,很幸运的是第一条就是关于Tomcat不同版本的maxPostSize的设置,
这篇博客内容
看了这篇博客,接着去查看Linux下的项目使用的统一的Tomcat版本,使用的版本是Tomcat 7.0.70,接着看这篇文章你还能说什么,改呗,将属性maxPostSize修改为-1,代表不限制,重启Tomcat服务器,重新登录网站和以上出现的问题都没有了。
附上这个博主的博客地址:https://www.jb51.net/article/190134.htm
总结:想着昨天出现的这个问题,今天休息正好可以总结一下,接着去看Tomcat官网上的相关文档,去看下这个问题。如今Tomcat版本更新很快,很多Tomcat7的版本不再好找,我们可以查看最新的Tomcat7版本信息,打开Tomcat官网后,查看
Documention下的Tomcat7.0
接着查看Reference下的Configuration部分
接着查看Connectors下的HTTP部分,这个和Tomcat下的conf中的server.xml配置文件的结构有很大的相关性,只要你很熟悉server.xml配置,那么找到这个不是问题
查看相关属性,我们就会看到maxPostSize的详细介绍,这个限制必须设置为小于0的负数才能不限制,缺省下是2097152,也就是2M的大小,单位是Byte。
你要知道以上的介绍仅仅是Tomcat 7.0.86版本的信息
那么我们怎么看Tomcat历史版本的变化呢,回到刚开始进来的文档首页,点击最下方的Changelog部分,
这里面是Tomcat7所有的历史版本的变化,我们找到Tomcat 7.0.63版本,可以看到变化的第一项就是关于maxPost属性的内容,上面的博客的哥们果然是满满的干货,虽然内容少,但是一击必中啊。
通过以上的总结,如果以后出现类似的问题,排查问题的能力要有所提升,自己总结问题的排查步骤:
关于Tomcat的maxPostSize属性的配置需要注意哪些问题就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。