代码改变世界

Nginx反向代理匹配部分二级域名或二级目录配置

2016-08-22 23:13  Tacker  阅读(3901)  评论(0编辑  收藏  举报
server {


    charset utf-8;
    client_max_body_size 128M;
 

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.php;

    server_name *.tl.com;

    set $old_port 8002;
    set $new_port 8001;
    
    if ($host = tl.com) {
        rewrite ^ www.tl.com permanent;
    }

    location ~ ^/$ {
        set $port $new_port;
        if ($host ~* ^(sj|xiangmu|admin|wap|m)\.(.+)) {
            set $port $old_port;
        }
        proxy_pass http://127.0.0.1:$port;
        proxy_set_header HOST $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    } 


    location ~* ^/(test|gongying|xuqiu|ask|index\.php)(/(.*))?$ {
        proxy_pass http://127.0.0.1:8001;
        proxy_set_header HOST $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    #转发到老版本站点
    location ~* ^/(.+)$ {
        proxy_pass http://127.0.0.1:8002;
        proxy_set_header HOST $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

server {

    listen 8001;

    charset utf-8;
    client_max_body_size 128M;


    root /web1;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.php;

    server_name 127.0.0.1;

    location / {  
      index  index.htm index.html index.php;  

        if (!-e $request_filename) {  
              rewrite  ^/(.*)$  /index.php/$1  last;  
               break;  
        }  
    }  

    location ~ \.php/?.*$ {  
    
        fastcgi_pass php_7_0;

        include snippets/fastcgi-php.conf;
    }  
}


server {


    listen 8002;

    server_name  127.0.0.1;

    root        /web2;

#    rewrite_log on;

    error_log /var/log/nginx/tlv4.error.log error;

    location = /favicon.ico {
        log_not_found off;
        error_log off;
        rewrite_log off;
    }

    location / {
        index  index.htm index.html index.php;

        include rewrites/new.tlv4.com.conf;

        #访问路径的文件不存在则重写URL转交给ThinkPHP处理
        if (!-e $request_filename) {
           rewrite  ^/(.*)$  /index.php/$1  last;
           break;
        }
    }

    location ~ \.php/?.*$ {

        fastcgi_pass php_5_3;

        include snippets/fastcgi-php.conf;
    }

}