我有两台服务器。
服务器A:Tomcat+Oracle:包含web应用代码。 Webapp部署在这台服务器上。
服务器B:支持PHP + MySQL + 大磁盘存储空间。这是在服务器 A 上运行的 Web 应用程序的文件服务器。
目前所有用户都在服务器A上上传文件,服务器A使用FTP连接将文件保存在服务器B上。 类似地,对于下载,A 使用 FTP 从 B 获取文件,然后将文件发送到浏览器。但这会增加服务器 A 的网络开销。
是否有任何安全的方式,只有登录用户才能通过直接访问服务器 B 的某些 URL 下载他们的文件?
最佳答案
您可以使用一个短命的一次性 token 系统。服务器 A 用于身份验证,服务器 B 用于 token 存储和文件服务器。
客户端一旦通过身份验证,就向服务器 A 请求文件。然后服务器 A 向服务器 B 请求一次性 token 和 URL 以获得给定的文件名。服务器 B 生成 token 和 URL 并返回给服务器 A,服务器 A 又返回给客户端。
客户端现在可以使用给定的 URL 和 token 从服务器 B 请求文件。服务器 B 将检查 token 是否未被使用或过期,以及请求的文件是否与为 token 颁发的文件匹配。
关于java - 如何为 Web 应用程序创建文件服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19470671/