作項目時碰到富文本的內容太多,提交請求時,請求頭過長報錯,先是nginx報錯, 緣由是請求頭的長度超出了nginx限制了,增長client_header_buffer_size和large_client_header_buffers的值, 若是nginx.conf文件不存在這兩個參數,新增便可. 貼一下個人nginx.conf配置,倒數兩行就是須要增長的參數.
user root; worker_processes 2; pid /var/run/nginx.pid; events { worker_connections 4096; } http { include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; gzip_disable "msie6"; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 16k; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript image/jpeg image/gif image/png image/bmp image/x-icon; client_header_buffer_size 512k; large_client_header_buffers 4 512k; include /usr/local/nginx/tomcat*.conf; }
配置完nginx.conf重啓後,沒有繼續報錯Request-URI Too Large錯誤了,可是看請求沒有響應,查看了下tomcat的日誌,發現報錯java.lang.IllegalArgumentException: Request header is too large
,網上查了下,是請求頭超出了tomcat默認的head大小,處理辦法:在server.xml中增長maxHttpHeaderSizejavascript
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" maxPostSize="0" maxHttpHeaderSize ="102400"/>
可是加完仍是報相同的錯,因而maxHttpHeaderSize又加了兩個0,就解決了,客戶上傳的文檔太大了,你們根據本身的需求調整tomcat和nginx的參數大小.css
後面使用nginx上傳圖片時,提示413 Request Entity Too Large 錯誤
解決辦法: 在nginx設置文件上傳最大大小爲2MB, 根據實際狀況調整java
client_max_body_size 2m;