web-dev-qa-db-ja.com

nginxのhttp_sub_module / sub_filterとリバースプロキシが機能しない

ウェブサイトをリバースプロキシしてコンテンツを変更しようとしています。そのために、sub_filterを使用して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;

   }
}

私を助けてください

15
thms0

アップストリームソースで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;
}

これらのリンクを確認してください

37
Mike Lee