java提供接口,进行鉴权。
鉴权成功后将下载指向nginx,收nginx进行下载代理。
直接访问nginx不能下载,只能走重定向下载。,
背景:
java提供接口,进行鉴权。
鉴权成功后将下载指向nginx,收nginx进行下载代理。
直接访问nginx不能下载,只能走重定向下载。
@ApiOperation(value = "下载文件") @GetMapping("downloadFile/{fileId}") public void downloadFile(@PathVariable String fileId, HttpServletRequest httpServletRequest, HttpServletResponse response){ // 鉴权代码略 // 获取文件相对路径 String fileName = scriptInfoService.getFileName(fileId); response.setHeader("Content-Disposition", "attachment;filename=" + fileName); response.setHeader("Content-Type", "application/octet-stream"); response.setHeader("X-Accel-Redirect","/file/" + fileName); }nginx
location /file { internal; //非定向不允许访问 alias d:/data/file/; },背景:
java提供接口,进行鉴权。
鉴权成功后将下载指向nginx,收nginx进行下载代理。
直接访问nginx不能下载,只能走重定向下载。