我在centos 6上使用nginx进行反向代理设置。我希望根据点击的广告取一个页面并显示不同的电话号码。
我试图使用http_sub_module,虽然我并不清楚如何找到替换它。
实施例
http://mysite.com有(111)123-4567
我想让反向代理搜索上面的数字并替换为(222)765-321
谢谢!
答案 0 :(得分:2)
它并不理想,因为应该重写源代码,但您可以使用sub_filter
重写代理请求的响应内容。以您的示例为例:
location /something {
...
sub_filter '(111) 123-4567' '(222) 765-321';
sub_filter_once off;
}
这个的默认行为是替换一次(我在示例中禁用了)并且仅将更改应用于html页面(这是基于响应的mime类型)。这适用于在反向代理中使用,因为它可以用默认选项替换Location
标头,并在禁用sub_filter_once
选项时链接。
虽然除非在编译时明确配置,否则此模块不可用,但根据我的经验,任何安装了nginx的软件包管理器都启用了此选项。
您可以阅读有关此here的更多信息。