關鍵配置《nginx + lua 字符串過濾實現blogger站點的反向代理》

 具體的編譯和配置過程略過,僅貼出nginx關鍵配置部分如下:


server {
        listen       80;
        server_name  blog.youhost.com;
 
        location / {
#lua字符替換 部分
body_filter_by_lua
'
    local origstr= ngx.arg[1]
    origstr=string.gsub(origstr,"www.blogger.com","blog.youhost.com/blg")
    origstr=string.gsub(origstr,"www.Blogger.com","blog.youhost.com/blg")
    origstr=string.gsub(origstr,"us.zyh.me","blog.youhost.com")
    origstr=string.gsub(origstr,"img1.blogblog.com","blog.youhost.com/img1")
    origstr=string.gsub(origstr,"img2.blogblog.com","blog.youhost.com/img2")
    origstr=string.gsub(origstr,"img3.blogblog.com","blog.youhost.com/img3")
    origstr=string.gsub(origstr,"www.blogblog.com","blog.youhost.com/bbwww")
 
    ngx.arg[1]=origstr
';
 
                proxy_pass http://youblog.blogspot.com;
                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#以下這條很重要,目的是關閉http壓縮,如果不關閉壓縮則無法進行任何過濾
                proxy_set_header Accept-Encoding "";
                proxy_redirect off;
        }
 
        location /blg/ {
 
                proxy_pass http://www.blogger.com/;
                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
 
        location /img1/ {
 
                proxy_pass http://img1.blogblog.com/;
                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
 
 
        location /img2/ {
 
                proxy_pass http://img2.blogblog.com/;
                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Accept-Encoding "";
                proxy_redirect off;
        }
 
        location /img3/ {
 
                proxy_pass http://img1.blogblog.com/;
                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Accept-Encoding "";
                proxy_redirect off;
        }
 
        location /bbwww/ {
 
                proxy_pass http://www.blogblog.com/;
                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Accept-Encoding "";
                proxy_redirect off;
        }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章