如何在 haproxy 级别重定向请求以从 CDN 获取文件?

如何在 haproxy 级别重定向请求以从 CDN 获取文件?

对于给定的 url 模式,我希望从 CDN 而不是从我的 Web 服务器获取文件的内容。

例子:

www.example.com/some/path/ford/new?a=1&b=2

我需要提取:

福特 新 1 2

我想要从 s3(或者 CDN)获取文件,例如:

example-com.s3.com/customers/ford.new.1.2.html

这在 HAProxy 级别是否可行或者我是否必须以某种方式在 nginx 中执行此操作?

显然,越早进入管道越好。

答案1

我记得曾经处理过类似的事情,我相信其原则如下:

1) 从前端,使用 ACL 匹配 URL 并转到特定后端 2) 在此后端首先使用 reqirep 重写 URL 3) 然后使用“redirect ... prefix /”执行重定向,这将重用相同的 URL。

但是,在您的情况下,我看到了一个主机名,而主机名不是 URI 行的一部分,因此无法使其出现在那里(目前还无法合并两行)。但也许您不需要那么多主机,并且可以遵守一些规则?

相关内容