2015-08-08 9 views
5

Ich versuche, meine Website umzukehren und den Inhalt zu ändern. Dazu habe ich nginx mit sub_filter kompiliert. Es akzeptiert jetzt die sub_filter-Direktive, aber es funktioniert irgendwie nicht.http_sub_module/sub_filter von Nginx und Reverse-Proxy funktioniert nicht

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; 

    } 
} 

Bitte helfen Sie mir

+0

Warum wollen Sie Inhalte innerhalb Nginx Konfiguration ändern? Möchten Sie Nginx im Forward-Proxy-Modus verwenden? – Anatoly

+0

Weil ich beabsichtige, der Website auf diese Weise eine Kopf- und Fußzeile hinzuzufügen. Ich möchte es im Reverse-Proxy-Modus verwenden. – thms0

+0

Ich habe sogar versucht Httpsubs und subs_filter, es funktioniert auch nicht. Hat jemand eine Idee? – thms0

Antwort

16

Überprüfen Sie, ob die Upstream-Quelle gzip eingeschaltet wurde, wenn ja, müssen Sie

proxy_set_header Accept-Encoding ""; 

so das Ganze so etwas wie

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; 
} 

wäre Überprüfen Sie diese Verbindungen