cuber / ngx_http_google_filter_module

Nginx Module for Google Mirror
BSD 2-Clause "Simplified" License
3.35k stars 779 forks source link

如何在插件下设置sub_filter #111

Open nerdneilsfield opened 8 years ago

nerdneilsfield commented 8 years ago

因为另外做了中文维基的反代,可是在google的配置下面添加sub_filter中文维基到反代的网站的时候,并不能起作用,请问如何设置呢?

location / { google on; sub_filter https://zh.wikipedia.org/ https://****; }

time-river commented 8 years ago

我的配置

server {
    listen     443 ssl;
    listen [::]443 ssl;

    server_name <domain>;

    access_log  /home/nginx/log/proxy/google.access.log main buffer=32k;
    error_log   /home/nginx/log/proxy/google.error.log  warn;

    #ssl certificate and key
    ssl on;
    ssl_certificate        /etc/ssl/private/<crt>;
    ssl_certificate_key    /etc/ssl/private/<key>;

    resolver    8.8.8.8;

    location / {
        google  on;
        google_scholar  on;
        google_language en;

        subs_filter zh.wikipedia.org         <domain>;
        subs_filter zh.m.wikipedia.org       <domain>;
     }
}

upstream www.google.com {
    ip_hash;
    server 216.58.192.40:443 max_fails=3;
    server 216.58.192.41:443 max_fails=3;
    server 216.58.192.42:443 max_fails=3;
    server 216.58.192.43:443 max_fails=3;
    server 216.58.192.45:443 max_fails=3;
    server 216.58.192.46:443 max_fails=3;
    server 216.58.192.47:443 max_fails=3;
    server 216.58.192.49:443 max_fails=3;
    keepalive 32;
}

server {
    listen     443 ssl;
    listen [::]443 ssl;

    server_name <domain>;

    access_log  /home/nginx/log/proxy/wiki.access.log main buffer=32k;
    error_log   /home/nginx/log/proxy/wiki.error.log  warn;

    #ssl certificate and key
    ssl on;
    ssl_certificate        /etc/ssl/private/<crt>;
    ssl_certificate_key    /etc/ssl/private/<key>;

    location / {
        if ( $http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot" ) {  
                return 403;  
        }  

        set $redirect        https://zh.wikipedia.org/;
        set $header_host     zh.wikipedia.org;
        set $header_pass     https://zh.wikipedia.org;

        proxy_redirect                      $redirect    /;

        proxy_set_header Host               $header_host;
        proxy_set_header Accept-Language    "zh-CN";

        proxy_pass           $header_pass;

        sub_filter $header_pass  <domain>;
        sub_filter_once off;

        if ( $http_user_agent ~* "(Mobile)" ) {
            set $redirect    https://zh.m.wikipedia.org/;
            set $header_host zh.m.wikipedia.org;
            set $header_pass https://zh.m.wikipedia.org;
        }
    }
}

upstream zh.wikipedia.org {
    least_conn;
    server 91.198.174.192:443 weight=1  max_fails=3;
    server 208.80.154.224:443 weight=5  max_fails=3;
    server   198.35.26.96:443 weight=10 max_fails=3;
    keepalive 32;
}

upstream zh.m.wikipedia.org {
    fair;
    server 208.80.154.236:443 max_fails=3;
    server  198.35.26.108:443 max_fails=3;
    keepalive 32;
}
cuber commented 5 years ago

试试 subs_filter