Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用类似S3的REST身份验证保护Apache2中的静态下载?_Apache2_Amazon S3_Restful Authentication - Fatal编程技术网

使用类似S3的REST身份验证保护Apache2中的静态下载?

使用类似S3的REST身份验证保护Apache2中的静态下载?,apache2,amazon-s3,restful-authentication,Apache2,Amazon S3,Restful Authentication,我想公开由常规apache2进程提供的静态下载内容,该进程具有REST身份验证链接,类似于AmazonS3提供的链接,如中所示 也就是说,我希望能够为下载提供经过验证的、过期的表单链接: 从我自己的服务器。我希望它与S3兼容,以便在需要时可以从专用服务器扩展到云端 最好的方法似乎是使用apacheauthz_模块来检查适当的查询参数。为了提高效率,我不希望携带mod|uz(perl | python | php),也不希望通过脚本发送实际内容 这似乎是一个经常出现的要求。然而,我在网上找不到任

我想公开由常规apache2进程提供的静态下载内容,该进程具有REST身份验证链接,类似于AmazonS3提供的链接,如中所示

也就是说,我希望能够为下载提供经过验证的、过期的表单链接:

从我自己的服务器。我希望它与S3兼容,以便在需要时可以从专用服务器扩展到云端

最好的方法似乎是使用apacheauthz_模块来检查适当的查询参数。为了提高效率,我不希望携带mod|uz(perl | python | php),也不希望通过脚本发送实际内容


这似乎是一个经常出现的要求。然而,我在网上找不到任何相关的东西。我想知道其他人是否以及如何解决这个问题?

我是这样解决的:我使用了

  • ruby中的自定义CGI脚本,它实现了我需要的S3 REST身份验证的子集
  • 用于将下载发送到客户端
CGI脚本所要做的就是在身份验证成功时发送X-Sendfile头,然后apache2接管并使用全速/Cache标记支持等传输文件

对我来说效果很好,因为每秒下载请求的数量很小。而且该解决方案不会在apache2进程中使用任何昂贵的、容易出错的脚本模块