今日和往常一样写了代码部署到服务器上,出现了一个很摸不着头脑的 BUG:
SpringBoot 打包之后扔到服务器,启动起来再通过 Nginx 反向代理,有一个 API 是文件上传,在 HTTP 协议下上传规定设置的大小内的文件都是正常的,但是在 HTTPS 下,上传超过 500kb 的文件 SpringBoot 就会报出找不到请求资源,相关代码配置如下:
public ResponseResult<FileInfoVO> upload(@RequestParam("files") MultipartFile multipartFile) {
//在这个之前 Springboot 会报出找不到"files"这个请求表单数据
FileInfoVO fileInfoVO = fileUploadService.upload(multipartFile,uploadConfig.getPath()+"/cover",false);
return ResponseResult.okHasData(fileInfoVO);
}
ssl_certificate /etc/letsencrypt/live/domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
location /
{
proxy_pass http://localhost:1010;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-NginX-Proxy true;
add_header X-Cache $upstream_cache_status;
expires -1;
}