1.没有任何配置,仅上传图片时没问题,但上传文件大于3M时就报错了;
2.先是nginx日志(/var/log/nginx/error.log)记录报413错误,查原因是nginx没有配置文件大小,就参照配了client_max_body_size 50m;client_body_buffer_size 50m;
3.之后报104错误,百度了很久,nginx加了一堆的配置
client_header_buffer_size 16k;
large_client_header_buffers 4 64k;
fastcgi_connect_timeout 600;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
proxy_connect_timeout 600;
proxy_send_timeout 1200;
proxy_read_timeout 1200;
还是没用;
4.后面偶然发现一贴,说是nginx版本问题,1.1的有分片续传,默认是1.0,当即在nginx对应域名配置文件location中配置了 proxy_http_version 1.1;
5.这回又爆了111错误,问题不在nginx了,出现在了网关服务,后面在网关和对应上传文件的服务配置了
spring:
servlet:
multipart:
enabled: true # 启用http上传处理
max-file-size: 100MB # 设置单个文件的最大长度
max-request-size: 100MB # 设置最大的请求文件的大小
file-size-threshold: 1MB # 当上传文件达到1MB的时候进行磁盘写入
location: / # 上传的临时目录
ribbon:
ReadTimeout: 60000
ConnectTimeout: 60000
timeout: 1 #登录有效期 单位天
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 60000
分别为配置上传文件信息,时间有效信息,总算解决了问题,白花费了不少时间,以此记录,以供参考。