springboot 大文件上傳nginx 配置問題

解決了前後端分離 部署在兩臺服務器網盤項目大文件傳輸問題

查找日誌提示如下

 upstream timed out (110: Connect....

首先確保spring boot 支持大文件處理

1.spring boot 1.x 版本

application.properties 文件中 位置在(resources下)

spring.http.multipart.maxFileSize = 10Mb

spring.http.multipart.maxRequestSize=100Mb

 

2.spring boot 2.x 版本

application.properties 文件中 位置在(resources下)

spring.servlet.multipart.max-file-size=1024MB
spring.servlet.multipart.max-request-size=1024MB

 解決方法:

原因在於nginx proxy的默認超時時間太短,默認60s
proxy_connect_timeout    60;
proxy_read_timeout       60;
proxy_send_timeout       60;

因此需要在相應localtion 模塊中配置

更改爲

proxy_connect_timeout    600;
proxy_read_timeout       600;
proxy_send_timeout       600;

客戶端那邊不間斷的測試數據導致,對於這種情況,可以對nginx的配置文件進行配置以下參數來進行不主動關閉。

    
proxy_ignore_client_abort on;
 

客戶端下載文件時候,先到前端nginx,然後nginx找後端tomcat要文件。
在下載1G以上文件時候總是無法正確下載。
nginx.conf裏,給
proxy_max_temp_file_size 改成0就沒限制了,如果需要限制,就調大一點,比如5000m;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章