【问题标题】:Find and Replace with Nginx Reverse Proxy setup使用 Nginx 反向代理设置查找和替换
【发布时间】:2013-07-19 22:25:41
【问题描述】:

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

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

例子

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

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

谢谢!

【问题讨论】:

    标签: search nginx replace


    【解决方案1】:

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

    location /something {
        ...
    
        sub_filter '(111) 123-4567' '(222) 765-321';
        sub_filter_once off;
    }
    

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

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

    您可以阅读有关此here 的更多信息。

    【讨论】:

      猜你喜欢
      • 2016-08-09
      • 2016-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多