解決Tomcat的maxPostSize屬性的配置需要注意的問題
需求:
近期要做大文件上傳功能,除了修改前端框架上傳控件jQuery Uploadify的上傳文件限制大小和Spring MVC框架配置的文件上傳模塊中的MultipartResolver中的文件上傳限制大小,還需要去修改Nginx服務器中conf目錄下的nginx.conf配置文件中的client_max_body_size屬性以及Tomcat服務器中conf目錄下的server.xml配置文件中的connectionTimeout屬性、maxPostSize屬性,以上內容就是我做的修改。
問題:
先是修改Nginx服務器和Tomcat服務器的配置,重啟Nginx服務器,再是修改頁面和代碼后重新部署和運行,然后在頁面進行大文件上傳操作,然后提交保存都出現(xiàn)了問題,自己懷疑可能是大文件保存出現(xiàn)了問題,忙著去查看服務器上的日志,接著同事又說文件刪除功能失效,接下來又有同事說網(wǎng)站登錄不上了,輸入正確的驗證碼后報錯說是驗證碼登錄過期,,,,各種問題接踵而至,看了半天的服務器日志沒有發(fā)現(xiàn)問題,還是自己看的不仔細,也沒有定位到問題出現(xiàn)在哪里。
排查:
無奈去請求大牛,先是問我修改了哪些東西,我說Nginx服務器和Tomcat服務器的配置我都修改了,大??戳薒inux上的Nginx服務器的配置文件和Tomcat服務器的server.xml配置文件,回頭問我maxPostSize=“0”屬性的配置是什么意思,我說是HTTP的POST請求下的body大小不做限制,如果不設置的話,缺省的情況下是maxPostSize=“2097152”,也就是2M的大小,因為單位是Byte。大牛接著去查看了相關資料,得知可能是Tomcat版本帶來的問題,不同的Tomcat版本maxPostSize屬性設置的可能有差異,知道了問題所在,那么就去著手進行配置了。
解決:
百度了下Tomcat maxPostSize這兩個關鍵詞,很幸運的是第一條就是關于Tomcat不同版本的maxPostSize的設置,

這篇博客內容

看了這篇博客,接著去查看Linux下的項目使用的統(tǒng)一的Tomcat版本,使用的版本是Tomcat 7.0.70,接著看這篇文章你還能說什么,改唄,將屬性maxPostSize修改為-1,代表不限制,重啟Tomcat服務器,重新登錄網(wǎng)站和以上出現(xiàn)的問題都沒有了。
附上這個博主的博客地址:http://www.dhdzp.com/article/190134.htm
總結:想著昨天出現(xiàn)的這個問題,今天休息正好可以總結一下,接著去看Tomcat官網(wǎng)上的相關文檔,去看下這個問題。如今Tomcat版本更新很快,很多Tomcat7的版本不再好找,我們可以查看最新的Tomcat7版本信息,打開Tomcat官網(wǎng)后,查看
Documention下的Tomcat7.0

接著查看Reference下的Configuration部分

接著查看Connectors下的HTTP部分,這個和Tomcat下的conf中的server.xml配置文件的結構有很大的相關性,只要你很熟悉server.xml配置,那么找到這個不是問題

查看相關屬性,我們就會看到maxPostSize的詳細介紹,這個限制必須設置為小于0的負數(shù)才能不限制,缺省下是2097152,也就是2M的大小,單位是Byte。

你要知道以上的介紹僅僅是Tomcat 7.0.86版本的信息

那么我們怎么看Tomcat歷史版本的變化呢,回到剛開始進來的文檔首頁,點擊最下方的Changelog部分,

這里面是Tomcat7所有的歷史版本的變化,我們找到Tomcat 7.0.63版本,可以看到變化的第一項就是關于maxPost屬性的內容,上面的博客的哥們果然是滿滿的干貨,雖然內容少,但是一擊必中啊。

通過以上的總結,如果以后出現(xiàn)類似的問題,排查問題的能力要有所提升,自己總結問題的排查步驟:
- 第一:查看服務器上的各種日志
- 第二:查看服務器上的各種配置文件
- 第三:考慮各個版本的差異,就比如上面的問題,這個前提是你要知道你修改了哪些配置,增加了哪些配置。
總結
到此這篇關于解決Tomcat的maxPostSize屬性的配置需要注意的問題的文章就介紹到這了,更多相關Tomcat的maxPostSize屬性配置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
tomcat 通過占位符設置端口的方法(即參數(shù)指定方式)
這篇文章主要介紹了tomcat 通過占位符設置端口的方法(即參數(shù)指定方式),本文通過三種方法給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08
web安全—tomcat禁用WebDAV或者禁止不需要的 HTTP 方法
現(xiàn)在主流的WEB服務器一般都支持WebDAV,使用WebDAV的方便性,呵呵,就不用多說了吧,用過VS.NET開發(fā)ASP.Net應用的朋友就應該 知道,新建/修改WEB項目,其實就是通過WebDAV+FrontPage擴展做到的,下面我就較詳細的介紹一下2017-03-03

