【发布时间】:2017-09-18 16:54:15
【问题描述】:
我需要为我的 apache 虚拟主机实现以下逻辑:
- 如果文件存在于 S3 存储桶中,则从那里提供它
- 否则将请求发送到 fastcgi 服务(此特定用例中为 php-fpm)
通过 php 提供 S3 文件是不可接受的,我们不能将 s3 存储桶映射为 apache 的文件夹。
所以,问题是:是否有已知的方法可以从虚拟主机配置中检查 S3 存储桶中的文件是否存在(如果不是,则为 403/404 错误)并基于此实现逻辑?
【问题讨论】:
-
我不认为 Apache 可以做到这一点 - 你需要一些代码。您不需要使用 PHP 来提供文件本身 - 生成签名 URL 并将用户重定向到该新 URL。
-
如果您使用 s3 静态网站托管,那么绝对可以使用
proxy_pass从 s3 获取这些资源。至于 403/404 周围的逻辑,我敢肯定有办法,但是伙计,这变得很棘手......