ellou”玩家直接提供文件服务
我需要箱子定制的小应用程序的目的式的解决方案,不知道什么是服务文件直接与发挥最好的办法,但在没有放置应用程序的public
目录?我需要访问FTP上传文件夹。
假设我的应用程序是从/home/myaccount/playapps/app201
文件夹运行的,并且地址为http://somedomain.tld
。我也有一个文件夹指向/home/myaccount/ftp_upload
的普通FTP帐户。
服务文件/home/myaccount/ftp_upload/folder_1/sub_2/file.txt
为 http://somedomain.tld/ftp_upload/folder_1/sub_2/file.txt
(没有任何检查和限制)的最佳方式是什么?
- 一种选择是使用HTTP服务器,并设置独立的
ftp folder
或host
alias
,但我想,以避免在某些节点上使用额外的服务器(参考:如果你正在寻找的服务器解决方案检查sample config)。 - 其次是写作
Application.serve(String filepath)
动作+路由,但在提供文件之前我不需要任何其他操作。使用这种方法有意义吗?
有其他选择吗?
(这个问题也可在Google Groups)
我可以问一些尝试细节? CDN的部分有用性 - 至少在我看来 - 是你的请求不包含cookies,因为它填补了不必要的带宽。是您希望的解决方案的一部分,例如提供来自'www.example.com'的动态请求和来自'cdn.example.com'(或完全不同的TLD)的静态请求(CDN)?另外,你的大多数请求是静态的(CDN)还是动态的?也许你有一个大概的百分比。它也可以帮助您了解您的主要静态数据集是否很小,例如90%的静态请求最多只有几GB的数据。 – Carsten
@Carsten,thx回复。我想将大型媒体文件和其他“完全公开”的东西放在应用程序结构之外,因为我不需要对它进行访问控制。在这种情况下,应用程序保存路径和元数据 - 以及corse渲染前端。我的目标可以通过使用前端http服务器和某些文件夹的别名(此处介绍)(http://stackoverflow.com/a/10884297/1066240)轻松演示,但我想避免使用HTTP服务器。另一方面,我认为我也可以在端口80和一些轻量级服务器上部署应用程序来捕获静态请求(将更多...) – biesior
@Caresten :((更多:))我刚刚意识到(感谢你)从其他域提供这些数据将阻止cookie发送,这也可以提高性能。 – biesior