具有NGINX反向代理的节点似乎会终止连接,即使在使用长超时配置时也是如此

nkkqxpd9  于 2022-12-29  发布在  Nginx
关注(0)|答案(1)|浏览(187)

我有这个节点应用程序运行在一个NGINX反向代理后面。我的节点应用程序功能是下载一个大的XLS文件,大约消耗80-120秒。它在本地工作没有NGINX,但当我使用NGINX时,它似乎只是挂起,并给我超时错误。
我使用MongoDB和Mongoose作为Node应用程序中的数据库,它将查询数据库以下载XLSX
下面是NGINX配置的一部分:

keepalive_timeout   70;
  

  client_max_body_size 16m;

  location    / {

    gzip on;
    gzip_min_length  1100;
    gzip_buffers  4 32k;
    gzip_types    text/css text/javascript text/xml text/plain text/x-component application/javascript application/x-javascript application/json application/xml  application/rss+xml font/truetype application/x-font-ttf font/opentype application/vnd.ms-fontobject image/svg+xml;
    gzip_vary on;
    gzip_comp_level  6;

    proxy_pass  http://indorelawan-80;
    
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header X-Request-Start $msec;
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;
    proxy_connect_timeout 600;
    proxy_send_timeout 600;
    proxy_read_timeout 600;
    send_timeout 600;
  }

正如你所看到的,它使用proxy_send_timeout和proxy_read_timeout 600秒。当我在本地(没有NGINX)尝试它时,它将下载XLS大约83秒左右。但是,在使用NGINX的生产中,它将停止并返回超时。有什么方法可以修复这个问题吗?

uurity8g

uurity8g1#

没关系,我转而使用像BullMQ这样的队列。

相关问题