语言JAVA、数据库MySQL、系统CentOS
网站服务器:WEB服务器一
文件服务器:FILE服务器一、FILE服务器二、FILE服务器三、FILE服务器四...
数据库服务器:SQL服务器一
第一、用户上传附件应该是在 WEB服务器一
服务器,是不是用文件同步软件同步到其他所有 文件服务器
第二、用户下载控制,是不是在 文件服务器
也要部署写好的一个控制权限的网站去读取文件,数据库共用 数据库服务器
服务器
这是我现在的想法,感觉好复杂,一般是这么做吗?
一定要能控制知道地址后直接下载的情况
感觉需要有面向服务的开发的思路
1、
可以在文件服务器上放置一个有验证的 upload.php 看你用什么语言,还有其他方法。。。。
然后用户传文件到web 服务器,web 服务器再提交到文件服务器
不过如果是长远的打算应该把 上传的功能做成 服务 的形式
2、
在web服务器上做一个跳转的链接如:
http://www.xxxxxx.com/down?id=1234&userid=12345
然后根据 id 和 userid 再加入些其它项 比如时间戳 计算出来一个 key
如 使用 key = md5(id userid "sfasdfsfsdf" 12343423470)
然后跳转到文件服务器
在文件服务器上也做一个这样的页面用来验证这个 key
http://file1.xxx.com/down?fileid=1234&securitykey=上面计算出来的key&userid=&time=时间戳
然后使用流的形式输出文件给用户 (不要暴露给浏览器文件的真实路径,在服务器上设置真实文件访问权限)