1. 程式人生 > >request entity too large 413 和 maxPostSize="0"

request entity too large 413 和 maxPostSize="0"

客戶在系統上傳圖片時反映上傳不了,開啟google瀏覽器的前端除錯工具,發現報錯:request entity too large 413

通過在網上查詢request entity too large 413,大部分說都是nginx設定的檔案上傳大小引數client_max_body_size太小了

在配置檔案中並未發現該引數,查了一下,原來nginx預設上傳檔案的大小是1M,可nginx的設定中修改。

在nginx.conf中的http{}段中加入 client_max_body_size 10m; 10m為允許最大上傳的大小。 重啟nginx後發現無效,經過排查,發現系統nginx存在多個程序,關不全部nginx程序後重啟就可以了

網上同時也有人說到有可能是tomcat限制了上傳檔案大小,在tomcat的server.xml中的<Connector 標籤中加上 maxPostSize=“0”,tomcat post 的資料大小有限制 ,maxPostSize設定為0表示沒有限制

後面重啟tomcat後,發現所有需要通過登入驗證的專案的登入資訊均通過ajax傳過去,在介面取到的引數為null,最後才發現是tomcat加上了maxPostSize="0"這個配置引起的問題,我用的tomcat的版本是7.0.75,通過找資料,才發現原來從 apache-tomcat-7.0.63 開始,引數 maxPostSize 的含義就變了: 如果將值設定為 0,表示 POST 最大值為 0,不限制 POST 大小需要將值設定為 -1。,在此版本之前設定為 0 表示不限制 POST 大小。