美文网首页
12.Nginx判断手机电脑应用案例

12.Nginx判断手机电脑应用案例

作者: 祁恩达 | 来源:发表于2019-10-13 13:12 被阅读0次

    Nginx判断手机电脑应用案例

    根据不同的浏览器, 以及不同的⼿机, 访问的效果都将不⼀样。

    //通过浏览器来分别连接不同的浏览器访问不同的效果。
    http    {
    ...
        upstream    firefox {
            server  172.31.57.133:80;
        }
        upstream    chrome  {
            server  172.31.57.133:8080;
        }
        upstream    iphone  {
            server  172.31.57.134:8080;
        }
        upstream    android {
            server  172.31.57.134:8081;
        }
        upstream    default {
            server  172.31.57.134:80;
        }
    ...
    }
    
    //server根据判断来访问不同的⻚⾯
    server  {
        listen                          80;
        server_name     www.xuliangwei.com;
        #safari浏览器访问的效果
        location    /   {
                if  ($http_user_agent   ~*  "Safari"){
                proxy_pass  http://dynamic_pools;
                }                   
        #firefox浏览器访问效果
                if  ($http_user_agent   ~*  "Firefox"){
                proxy_pass  http://static_pools;
                }
        #chrome浏览器访问效果
                if  ($http_user_agent   ~*  "Chrome"){
                proxy_pass  http://chrome;
                }   
                                    
        #iphone⼿机访问效果
                if  ($http_user_agent   ~*  "iphone"){
                proxy_pass  http://iphone;
                }
                    
        #android⼿机访问效果
                if  ($http_user_agent   ~*  "android"){
                proxy_pass  http://and;
                }
                    
        #其他浏览器访问默认规则
                proxy_pass  http://dynamic_pools;
                include proxy.conf;
                 }
        }
    }
    
    image.png
    image.png

    根据访问不同⽬录, 代理不同的服务器

    //默认动态,静态直接找设置的static,上传找upload
    upstream    static_pools    {
        server  10.0.0.9:80         weight=1;
        }
    upstream    upload_pools    {
        server  10.0.0.10:80        weight=1;
        }
    upstream    default_pools   {
        server  10.0.0.9:8080       weight=1;
        }
    
        server  {
        listen                          80;
        server_name     www.xuliangwei.com;
    #url:   http://www.xuliangwei.com/
        location    /   {   
            proxy_pass  http://default_pools;
            nclude  proxy.conf;
            }
    #url:   http://www.xuliangwei.com/static/
        location    /static/    {
            proxy_pass  http://static_pools;
            include proxy.conf;
            }
    #url:   http://www.xuliangwei.com/upload/
        location    /upload/    {
            proxy_pass  http://upload_pools;
            include proxy.conf;
            }
    }
    //⽅案2:以if语句实现。
    if  ($request_uri ~* "^/static/(.*)$")
    {
        proxy_pass http://static_pools/$1;
    }
    if  ($request_uri   ~* "^/upload/(.*)$")
    {
        proxy_pass http://upload_pools/$1;
    }
    location    /   {   
        proxy_pass  http://default_pools;
        include proxy.conf;
    }
    

    相关文章

      网友评论

          本文标题:12.Nginx判断手机电脑应用案例

          本文链接:https://www.haomeiwen.com/subject/vhihmctx.html