保存富文本文字内容太多,提示nginx 414 Request-URI Too Large及tomcat报错

逆秩协程
• 阅读 10386
做项目时碰到富文本的内容太多,提交请求时,请求头过长报错,先是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中增加maxHttpHeaderSize

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"  maxPostSize="0" maxHttpHeaderSize ="102400"/> 

但是加完还是报相同的错,于是maxHttpHeaderSize又加了两个0,就解决了,客户上传的文档太大了,大家根据自己的需求调整tomcat和nginx的参数大小.

后面使用nginx上传图片时,提示413 Request Entity Too Large 错误
解决办法: 在nginx设置文件上传最大大小为2MB, 根据实际情况调整

client_max_body_size 2m;
点赞
收藏
评论区
推荐文章
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
3年前
LNMP架构中常见的502错误
1.配置错误因为nginx找不到phpfpm了,所以报错,一般是fastcgi\_pass后面的路径配置错误了,后面可以是socket或者是ip:port2.资源耗尽lnmp架构在处理php时,nginx直接调取后端的phpfpm服务,如果nginx的请求量偏高,我们又没有给phpfpm配置足够的子进程,那
Stella981 Stella981
3年前
OpenResty之使用 Nginx 内置绑定变量
Nginx作为一个成熟、久经考验的负载均衡软件,与其提供丰富、完整的内置变量是分不开的,它极大增加了对Nginx网络行为的控制细度。这些变量大部分都是在请求进入时解析的,并把他们缓存到请求cycle中,方便下一次获取使用。首先来看看Nginx对外都开放了那些API。$arg\_name:请求中的name参数$args:请求中的参数
Stella981 Stella981
3年前
Linux架构之Nginx 常见问题
第54章Nginx常见问题一、Nginx多Sever优先级在开始处理一个http请求时,nginx会取出header头中的Host变量,与nginx.conf中每个server的server_name进行匹配,由此决定到底由哪一个server来处理这个请求。但如果nginx配置多个相同的
Stella981 Stella981
3年前
Nginx 报错 504 Gateway Time
报错信息504GatewayTimeout原因是程序执行时间过长,导致请求超时。解决方法首先,尽可能地优化程序代码的执行时间。其次,修改配置文件。修改php.ini配置文件。max_execution_time600修改nginx.conf配置文件。
Stella981 Stella981
3年前
Nginx配置实验反向代理
l 实验要求浏览器访问8083.mine.com:8081地址,(Nginx端口是8081)通过Nginx服务器反向代理监听请求,将请求转发到tomcat服务器上,实现真正内容的访问。l 实验环境一台已安装Nginx(port:8081),tomcat8.5.39(port:8083)的CentOS服务
Wesley13 Wesley13
3年前
2018.9.20笔记
Nginx默认虚拟主机去掉usr/local/nginx/conf/nginx.conf中的内容Server{.....}vim/usr/local/nginx/conf/nginx.conf//增加includevhost/.conf;
Stella981 Stella981
3年前
Nginx反向代理Tomcat配置
Nginx代理Tomcat为什么要为Tomcat配置反向代理?1)如果同一台机器既有nginx又有Tomcat,则会产生端口冲突2)我们需要把8080端口变成80端口3)nginx对于静态的请求速度上要优于Tomcat,Tomcat不擅长做静态的处理。如何配置?cd/etc/ngin
Stella981 Stella981
3年前
Nginx打印请求头和响应头
http{log_formatlog_req_resp'$remote_addr$remote_user$time_local''"$request"$status$body_bytes_sent'"$http_referer""$http_user_agent"$http_x_real_
Stella981 Stella981
3年前
Nginx+Tomcat 动静分离实现负载均衡
作者:无脑仔的小明链接:http://www.cnblogs.com/wunaozai/0.前期准备使用Debian环境。安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等。1.一份Nginx.conf配置文件 定义Nginx运行的用户 和 用户组 如果对应服务器暴露在外面
Stella981 Stella981
3年前
Nginx负载均衡
前面我们说了反向代理,例子中用的是,两个请求请求同一个ip地址和端口,然后Nginx来根据域名调用不同的tomcat来进行请求处理及响应。反向代理主要说的是:不同的请求请求同一个Nginx服务器,Nginx服务器来决定由那个真正的业务服务器(eg:tomcat)处理某个请求。下面说负载均衡负载均衡一般是指,针对同一个(域名的)请求发送很多次,同