今日和往常一样写了代码部署到服务器上,出现了一个很摸不着头脑的 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;
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.