首页 > Java技术, Nginx > Java配合nginx实现文件下载、显示的权限控制
201306月8

Java配合nginx实现文件下载、显示的权限控制

nginx的配置

location /bookres/ {
	#禁止浏览器直接访问
	internal;
	limit_rate 200k;
	alias d:/test/bookres/;
	#转由后台处理(tomcat等web容器)
	error_page 404 =200 @backend;
}
location @backend {
	rewrite ^/bookres/(.*)/(.*)/(.*)/(.*)$ /bookres/?isbn=$1&restype=$2&resid=$3&type=$4 break;
	proxy_pass http://localhost:8081;  #tomcat等web容器
	proxy_redirect off;
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	break;
}

上面的正则配置可匹配如下url/bookres/123/1/down

java中控制的代码

httpResponse.setHeader("Content-Disposition",
	"attachment; filename=\""+filename+"\"");
httpResponse.setHeader("Content-Type",
	"application/octet-stream");
httpResponse.setHeader("X-Accel-Redirect",
	"/bookres/"+resource.get("res_url"));
//给nginx返回实际文件存在的地址

文章作者: iitshare
本文地址:http://www.iitshare.com/java-download-files-with-nginx.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!

更多
本文目前尚无任何评论.

发表评论