解决了前后端分离 部署在两台服务器网盘项目大文件传输问题
查找日志提示如下
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;