解決了前後端分離 部署在兩臺服務器網盤項目大文件傳輸問題
查找日誌提示如下
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;