我希望将常规apache2进程提供的静态下载内容与类似于Amazon S3提供的REST身份验证链接一起公开,如http://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html中所示。
即,我希望能够使用以下形式的经过身份验证的过期链接进行下载: http://www.example.com/download/download.zip?AWSAccessKeyId=44CF9590006BF252F707&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv4%3D
来自我自己的服务器。而且我希望它与S3兼容,这样我就可以在需要时从我的专用服务器扩展到云端。
似乎最好的方法是使用apache authz_module来检查相应的查询参数。为了提高效率,我宁愿不携带mod_(perl | python | php),也不要通过脚本发送实际内容。
这似乎是一个可能会定期提出的要求。然而,我在网上找不到任何相关内容。我想知道其他人是否以及如何解决这个问题?
答案 0 :(得分:0)
以下是我如何解决它:我使用了
所有CGI脚本必须做的是在身份验证成功时发送X-Sendfile头,然后apache2接管并以全速/缓存标记支持等方式传输文件。
对我来说效果很好,因为每秒下载请求的数量很少。并且该解决方案不会使用任何昂贵的| error_prone脚本模块使apache2进程膨胀。