首页 > 系统相关 >Nginx 报错 504 Gateway Time-out 和无法上传大于1M文件的解决方法

Nginx 报错 504 Gateway Time-out 和无法上传大于1M文件的解决方法

时间:2023-06-30 16:14:30浏览次数:51  
标签:body buffer 上传 Nginx client 报错 timeout 1M size

Nginx 报错 504 Gateway Time-out 的解决方法

修改 nginx.conf 配置文件。

keepalive_timeout  600;
fastcgi_connect_timeout 600;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
proxy_connect_timeout       600;
proxy_send_timeout          600;
proxy_read_timeout          600;
send_timeout                600;

 

  • nginx作代理服务器,无法上传大于1M文件
  • 解决方式

    在proxy_pass的location添加下面2行解决。【切注意,必须在proxy_pass 的前面,否则不生效,坑!!! 】

    server {
            listen       8102;
            server_name www.work.net;
    
        
            location /{    
            client_max_body_size  512m;
                client_body_buffer_size 510m;    
        
          proxy_pass  http://localhost:8112;    
                
            }
        }

     client_max_body_size

    默认1M,表示客户端上传到服务器最大允许大小,文件到服务器端后(后台检验),检验发现大于该值,HTTP协议会报错 413 Request Entity Too Large。(注意这仅仅影响上传)

    client_body_buffer_size

    小于client_body_buffer_size直接将数据先在内存中存储。如果请求的值大于client_body_buffer_size小于client_max_body_size,就会将数据先存储到临时文件中。

    以下实验nginx的版本1.17.3

    在linux环境  

       client_max_body_size  3g;   

       client_body_buffer_size  50m;(单位不可为g,不然启动报错)

     client_body_buffer_size 值尝试1m-3072m 上传2.4GB的文件结果都成功!

    在windows版本下

    问题多多值得注意!

      client_max_body_size  3g;

      client_body_buffer_size  2047m;(单位不可为g,可成功启动最大值是2047m,但看下面)

    上传2.4GB的文件结果:失败  

    nginx报错

    malloc(2146435072) failed (8: Not enough storage is available to process this command)
    情况说明

    1. 即使我添加主机物理内存到6GB,可用5GB。也报这错

    2. 即使上传2KB的文件,也报这错

    3. 尝试将client_body_buffer_size值设置在大于1024m以,上传1300m可成功,但上传文件如1500m会出错。

    4. client_body_buffer_size值设置在小于等于1024m,可成功上传1900m。但上传2048m失败,也报这错。

    5. 当上传的单文件大于client_body_buffer_size值时,而小于client_max_body_size某些情况下也会出现上传故障。

    那Windows版本nginx如何设置,

    1. client_body_buffer_size 值不要大于或接近1024m。

    2. client_max_body_size 和client_body_buffer_size相同的值,(毕竟存放内存,也高效)。

     

    另外注意。  因设置 client_body_buffer_size过大,数据先存储到内存,但实际占用内存是双倍的,上传完毕释放。

        Nginx报504 gateway timeout错误

    网站项目有Excel导入的功能,执行一个非常耗时的文件,超时不返回,浏览器返回504 gateway timeout错误!

    解决方式

    在proxy_pass的location添加以下

    proxy_connect_timeout 3600s;

    proxy_send_timeout 3600s;

    proxy_read_timeout 3600s;

    以上的单位是秒。

标签:body,buffer,上传,Nginx,client,报错,timeout,1M,size
From: https://www.cnblogs.com/Fooo/p/17517070.html

相关文章

  • 40 个 Nginx 常问面试题
    Nginx是一个轻量级/高性能的反向代理Web服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议。他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户有很多,例如:新浪、网易、腾讯等。 N......
  • Subcontracting订单的报错信息分析
    本文记录下外协订单报错信息的分析过程。1.在保存订单时出现报错信息“Subcontractingasstocktransferwithinacompanycodenotpossible"分析:外协订单可用于委外加工的业务,提供原材料给外包供应商进行加工,供应商完成加工之后发回。因此该业务的对象为供应商,不能用于公司间不......
  • nginx http to https
    server{listen80;server_namexxx.cnwww.xxx.cn;return301https://$server_name$request_uri;}server{listen443sslhttp2;server_namexxx.cnwww.xxx.cn;root/var/www/wwwroot/xxx/web;#vu......
  • Docker-Nginx安装
     下载Nginx1.22的docker镜像:dockerpullnginx:1.22 先运行一次容器(为了拷贝配置文件):dockerrun-p80:80--namenginx\-v/mydata/nginx/html:/usr/share/nginx/html\-v/mydata/nginx/logs:/var/log/nginx\-dnginx:1.22 将容器内的配置文件......
  • CentOs6 yum源 centos/6.4/os/x86_64/repodata/repomd.xml报错的解决方法
    CentoS6停止维护更新日期2020年11月30日CentOS7停止维护更新日期2024年6月30日CentOS8停止维护更新日期2021年12月31日因为测试需要,安装了CentOS6.4,进行更新时yum提示不可用。按照阿里云开源镜像(https://developer.aliyun.com/mirror/centos)......
  • 解决yum 不能更新问题 :yum 报错Loaded plugins: fastestmirror, refresh-packagekit,
    因为测试需要,安装了CentOS6.4,并需要安装kvm,虚拟Windows2008进行测试。实际操作中,因为CentOS6已经停止维护了,所以每一步操作基本都存在一些问题。Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的......
  • python 报错AttributeError: '_TestResult' object has no attribute 'outputBuffer'
    报错信息: 原因:使用setupclass必须加@classmethod装饰器 解决方案:在setupclass和teardownclass方法前面加@classmethod ......
  • Cubieboard A10 安装Nand系统,配置nginx,php,mysql,samba详细教程
    安装前置条件1.下载win32diskimager-v0.7-binary.zip2.下载debian_wheezy_armhf_v1_mele.zip3.下载cubie_nand_uboot_partition_image.zip4.下载FlashFXP.zip5.下载PanasonicSDFormatter.zip6.下载puttyfile_0.62cn.zip以上文件下载地址:http://pan.baidu.com/s/1i3Ke8gH ......
  • IDEA报错:Could not autowire, No beans of XXX type Found
    1、问题描述:   在Idea的spring工程里,经常会遇到Couldnotautowire.Nobeansof'xxxx'typefound的错误提示。(但程序的编译和运行都是没有问题的,有时候也有可能会报错,无法运行程序),这个错误提示并不会产生影响。对于程序员红色的错误提示看起来很不舒服。如下图:2.......
  • redis集群报错:MISCONF Redis is configured to save RDB snapshots, but it is curren
    之前在x86架构的服务器部署redis集群,未遇到题中问题;然而在ARM架构的服务器部署redis集群,第一次遇到如此问题。虽然问题已经解决,但不清楚问题的具体原因,在此做个记录。性能测试过程中,通过pinpoint捕捉到如下报错:MISCONFRedisisconfiguredtosaveRDBsnapshots,butitis......