`

"nginx + jetty" - post上传body size的限制问题

 
阅读更多

1 nginx配置修改, 增加红色字体部分 默认1M

 client_max_body_size 0; //表示不限制

 

可以看到content_length大于maxFormContentSize时将抛出异常,而maxFormContentSize默认是200000

 

 

path: /etc/nginx/nginx.conf

 

http {
    include       /etc/nginx/mime.types;

    access_log  /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;

    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    client_max_body_size 0; //64M
}

 

 

2 jetty配置修改 增加红色部分, 修改最多表单size

org.mortbay.jetty.Request.maxFormContentSize

-1表示不限制,默认200k

 

path: /etc/jetty/jetty.xml 

 

<Call name="addConnector">
      <Arg>
          <New class="org.mortbay.jetty.nio.SelectChannelConnector">
            <Set name="host"><SystemProperty name="jetty.host" /></Set>
            <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
            <Set name="maxIdleTime">30000</Set>
            <Set name="Acceptors">2</Set>
            <Set name="statsOn">false</Set>
            <Set name="confidentialPort">8443</Set>
            <Set name="forwarded">true</Set>
            <Set name="forwardedServerHeader">ignore</Set>
            <Set name="forwardedHostHeader">ignore</Set>
            <Set name="lowResourcesConnections">5000</Set>
            <Set name="lowResourcesMaxIdleTime">5000</Set>
          </New>
      </Arg>
    </Call>


 <Call class="java.lang.System" name="setProperty">
         <Arg>org.mortbay.jetty.Request.maxFormContentSize</Arg>
         <Arg>-1</Arg>
  </Call>

 

 --------------------

 

tomcat默认允许的content-length=2×1024×1024

 

// 内容超长则直接返回,jetty会抛出IllegalStateException  

 

protected void parseParameters() {  
......  
    if (!("application/x-www-form-urlencoded".equals(contentType)))  
        return;  
    int len = getContentLength();   
    if (len > 0) {  
        int maxPostSize = connector.getMaxPostSize();   // tomcat默认大小2*1024*1024    
        if ((maxPostSize > 0) && (len > maxPostSize)) {  
            if (context.getLogger().isDebugEnabled()) {  
                context.getLogger().debug(  
                        sm.getString("coyoteRequest.postTooLarge"));  
            }  
            return;   // 内容超长则直接返回,jetty会抛出IllegalStateException  
            //Parameters 对象没有内容  
    }  
.....  
}  

 

分享到:
评论

相关推荐

    ffmpeg+nginx+nginx-rtmp-module搭建个人直播平台

    ffmpeg+nginx+nginx-rtmp-module搭建个人直播平台。 使用说明(ffmpeg+nginx+rtmp-module已经整合,支持HTTP,具体配置查看conf/nginx.conf): 1.解压后,运行nginx_start.bat。(查看监控状态 ...

    nginx + nginx-http-flv-module-1.2.9

    在 `logs` 目录下,Nginx 的日志文件记录了服务器的运行状态和错误信息,这对于诊断问题和优化性能至关重要。`nginx` 和 `nginx.pid` 可能是用于启动和停止 Nginx 服务的脚本和进程 ID 文件。 7. **源代码** `src...

    Windows下一站式搭建ffmpeg推流+nginx-http-flv-module直播拉流+FLV.js播放环境.rar

    1、在Windows系统下,搭建ffmpeg推流+nginx-http-flv-module直播拉流+FLV.js播放环境,所需依赖相关资源文件。 2、适合初学、研究、验证视频直播部署方案的相关技术人员。

    nginx+php-fpm解决502 Bad Gateway.zip

    nginx+php-fpm解决502 Bad Gateway.zip

    ffmpeg+nginx-rtmp-module+flv监控视频web展示

    FFmpeg、Nginx-RTMP-Module 和 FLV 监控视频Web展示是一个整合了实时流媒体处理、传输和播放的技术方案。这个方案适用于在Web端实现监控视频的实时展示,尤其对于需要构建远程监控系统或者直播平台的场景非常实用。...

    nginx1.16.1+nginx-upload-module-2.3.0.zip

    【标题】"nginx1.16.1+nginx-upload-module-2.3.0.zip" 涉及的核心知识点是 Nginx 和一个特定的模块 —— nginx-upload-module。Nginx 是一款高性能的 Web 服务器和反向代理服务器,广泛应用于高并发场景,其轻量级...

    CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本

    CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本,Docker version 18.06.1-ce,docker-compose version 1.22.0

    解决nginx+php-fpm无法上传文件问题.docx

    在nginx配置文件中,我们需要设置client_max_body_size变量以允许上传更大的文件,而在php.ini配置文件中,我们需要设置post_max_size、upload_max_filesize、max_execution_time、max_input_time和memory_limit变量...

    nginx带nginx-http-flv模块windows编译版rtmp

    **Nginx与Nginx-RTMP及Nginx-HTTP-FLV模块** Nginx是一款高性能、轻量级的Web服务器/反向代理服务器,被广泛应用于高并发场景,尤其在处理静态文件、HTTP缓存以及反向代理等方面表现出色。Nginx以其高效的事件驱动...

    nginx1.16+nginx-upstream-check-module-master+nginx-upload-module

    通过配置,我们可以限制上传文件的大小、类型,甚至在上传过程中进行预处理,如重命名、压缩等。此外,`nginx-upload-module`还能与后端应用程序集成,例如通过POST请求将上传信息传递给PHP、Java等后端服务,实现...

    nginx+ffmpeg+nginx-http-flv-module+html资源包

    6. 使用FFmpeg将视频文件转化为FLV格式,并上传到Nginx服务器的指定目录。 7. 通过浏览器访问`flv播放.html`,测试流媒体播放功能是否正常。 这个资源包提供了一种简单而有效的方法来建立一个基础的流媒体服务系统...

    nginx+nginx-rtmp-module的流媒体服务器搭建文件

    在构建流媒体服务器时,Nginx 和 Nginx-rtmp-module 是一种常见的组合,它们为实时流传输提供了高效且稳定的服务。Nginx 是一个高性能的 Web 服务器和反向代理,而 Nginx-rtmp-module 是一个扩展模块,使 Nginx 具备...

    nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器

    Nginx本身是一个非常出色的HTTP服务器,FFMPEG是非常好的音...不同的是在configure的时候需要增加nginx-rtmp-module的支持,下载好nginx-rtmp-module后解压,然后nginx安装时增加这个模块(--add-module),其它都是一样的.

    FastDFS+Nginx+libfastcommon+fastdfs-nginx-module

    《搭建FastDFS+Nginx+libfastcommon+fastdfs-nginx-module系统详解》 FastDFS是一个开源的、高性能的、轻量级的分布式文件系统,主要用于解决大容量存储和负载均衡的问题,尤其适合以文件为载体的在线服务,如图片...

    nginx+php-cgi+mysql一键安装包for CentOS V5

    所以大家请注意这一点,以免在运行./install.sh的时候造成找不到文件的问题。如果你想解压缩到/usr/src里面,那就只有再修改一下./install.sh里面的几个对应的地方就可以了。这个其实无所谓。只要知道了就好了。 3...

    使用阿里云轻量级服务器+Django+Nginx+gpt-3.5-turbo开发一个ChatGPT前端.zip

    使用阿里云轻量级服务器+Django+Nginx+gpt-3.5-turbo开发一个ChatGPT前端

    win环境使用nginx的nginx-http-flv-module.zip

    在windows 7 64位 环境下使用nginx的nginx-http-flv-module搭建flv视频流播放所有的安装包,参考:https://blog.csdn.net/qq_33071429/article/details/102628008

    windows下编译nginx-http-flv-moudle

    在Windows环境下编译`nginx-http-flv-module`是一项技术性的任务,主要目的是为了实现HTTP FLV协议的直播功能,使得用户可以通过浏览器中的FLVJS库或者无插件Flash播放器来观看直播内容。这个模块是Nginx的一个扩展...

    nignx+nginx-http-flv-module-master+ffmpeg

    在实时视频流场景中,Nginx主要负责接收并分发视频流数据。通过HTTP FLV模块,Nginx能够支持Adobe的FLV协议,允许服务器推送或者客户端拉取流媒体内容,实现直播服务。 2. Nginx-Http-Flv-Module 这是一个Nginx的...

    nginx+php+nginx-rrd安装.txt

    nginx+php+nginx-rrd安装笔记、只是简单记录命令等操作、重要的事情说两遍,我承认,这个字数太多了,只是在凑字数。

Global site tag (gtag.js) - Google Analytics