语言JAVA、数据库MySQL、系统CentOS
网站服务器:WEB服务器一
文件服务器:FILE服务器一、FILE服务器二、FILE服务器三、FILE服务器四...
数据库服务器:SQL服务器一
第一、用户上传附件应该是在 WEB服务器一
服务器,是不是用文件同步软件同步到其他所有 文件服务器
第二、用户下载控制,是不是在 文件服务器
也要部署写好的一个控制权限的网站去读取文件,数据库共用 数据库服务器
服务器
这是我现在的想法,感觉好复杂,一般是这么做吗?
一定要能控制知道地址后直接下载的情况
覺得需要有服務導向的開發的思路
1、
可以在檔案伺服器上放置一個有驗證的 upload.php 看你用什麼語言,還有其他方法。 。 。 。
然後用戶傳文件到web 伺服器,web 伺服器再提交到檔案伺服器
不過如果是長遠的打算應該把 上傳的功能做成 服務 的形式
2、
在網頁伺服器上做一個跳轉的連結如:
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=時間戳
然後使用串流的形式輸出檔案給使用者 (不要暴露給瀏覽器檔案的真實路徑,在伺服器上設定真實檔案存取權限)