nginx和反向代理的http\u sub\u模块/sub\u过滤器不工作

nginx和反向代理的http\u sub\u模块/sub\u过滤器不工作,nginx,proxy,reverse,inject,Nginx,Proxy,Reverse,Inject,我正在尝试反向代理我的网站并修改内容。 为此,我使用sub_过滤器编译了nginx。 它现在接受sub_filter指令,但不知何故它不起作用 server { listen 8080; server_name www.xxx.com; access_log /var/log/nginx/www.goparts.access.log main; error_log /var/log/nginx/www.goparts.error.log;

我正在尝试反向代理我的网站并修改内容。 为此,我使用sub_过滤器编译了nginx。 它现在接受sub_filter指令,但不知何故它不起作用

server {
    listen       8080;
    server_name  www.xxx.com;

    access_log  /var/log/nginx/www.goparts.access.log  main;
    error_log  /var/log/nginx/www.goparts.error.log;
    root   /usr/share/nginx/html;
    index  index.html index.htm;

    ## send request back to apache1 ##
    location / {
       sub_filter <title> '<title>test</title>';
 sub_filter_once on;


     proxy_pass  http://www.google.fr;
     proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
     proxy_redirect off;
     proxy_buffering off;
     proxy_set_header        Host            $host;
     proxy_set_header        X-Real-IP       $remote_addr;
     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

   }
}
服务器{
听8080;
服务器名称www.xxx.com;
access_log/var/log/nginx/www.goparts.access.log main;
错误日志/var/log/nginx/www.goparts.error.log;
root/usr/share/nginx/html;
index.html index.htm;
##将请求发送回apache1##
地点/{
子_过滤器“测试”;
子过滤器打开一次;
代理通行证http://www.google.fr;
代理\u下一个\u上游错误超时无效\u头http\u 500 http\u 502 http\u 503 http\u 504;
代理_重定向关闭;
代理缓冲关闭;
代理设置头主机$Host;
代理集头X-Real-IP$remote\u addr;
proxy\u set\u header X-Forwarded-For$proxy\u add\u X\u Forwarded\u For;
}
}

如果需要,请帮助我检查上游源是否已打开gzip

proxy_set_header Accept-Encoding "";
所以整个事情会是这样的

location / {
    proxy_set_header Accept-Encoding "";
    proxy_pass http://upstream.site/;
    sub_filter_types text/css;
    sub_filter_once off;
    sub_filter .upstream.site special.our.domain;
}
检查这些链接


为什么要修改Nginx配置中的内容?你想在转发代理模式下使用Nginx吗?因为我打算以这种方式向网站添加页眉和页脚。我想在反向代理模式下使用它。我甚至试过Httpsubs和subs_过滤器,它也不起作用。有人有什么想法吗?基于proxy\u pass,你似乎试图构建正向代理,而不是反向代理?是的,谷歌只是想尝试一下。我现在尝试反向代理一个列出默认页面的apache目录,它可以正常工作。我在某处读到httpsubs在gzip服务的页面上有问题,所以我添加了proxy_set_header Accept Encoding“”;尝试从服务器禁用gzip,但没有办法:/I我认为这是一个丑陋的修复,因为它会禁用源服务器和公共服务器之间的gzip(更多后端流量),但这是Nginx的官方解决方案:我还想补充一点,在我的情况下,它只在我设置
proxy_set_header Accept Encoding”时起作用
位置
指令内,它在
服务器
下无法工作。