2

我在 centos 6 上使用 nginx 设置了反向代理。我希望获取我的一个页面并根据点击的广告显示不同的电话号码。

我试图使用 http_sub_module 虽然我并不清楚如何找到替换它。

例子

http://mysite.com有 (111) 123-4567

我想让反向代理搜索上述号码并替换为 (222) 765-321

谢谢!

4

1 回答 1

2

这并不理想,因为确实应该重写源,但您可以使用它sub_filter来重写代理请求的响应内容。在你的例子中,这将是:

location /something {
    ...

    sub_filter '(111) 123-4567' '(222) 765-321';
    sub_filter_once off;
}

其默认行为是替换一次(我在示例中禁用)并且仅将更改应用于 html 页面(这基于响应的 mime 类型)。这适合在反向代理中使用,因为它可以用Location默认选项替换标头,并在禁用该sub_filter_once选项时链接。

虽然除非在编译时明确配置,否则此模块不可用,但根据我的经验,安装 nginx 的任何包管理器都启用了此选项。

您可以在此处阅读有关此内容的更多信息。

于 2014-10-30T16:47:18.273 回答