美文网首页
Linux_338_Nginx判断http_user_agent

Linux_338_Nginx判断http_user_agent

作者: 为宇绸缪 | 来源:发表于2022-12-20 21:45 被阅读0次

    Nginx根据客户端转发配置
    编辑default.conf,然后添加location

    补充:location修饰符解释
    = 表示精确匹配。只有请求的url路径与后面的字符串完全相等时,才会命中。
    ~ 表示该规则是使用正则定义的,区分大小写。
    ~* 表示该规则是使用正则定义的,不区分大小写。
    ^~ 表示如果该符号后面的字符是最佳匹配,采用该规则,不再进行后续的查找。
    利用shell语句进行逻辑判断

    location / {
    # 这里进行浏览器判断
    if ($http_user_agent ~* "MSIE")
    {
        proxy_pass http://static_pools;
    }
    if ($http_user_agent ~* "Chrome")
    {
        proxy_pass http://upload_pools;
    }
    
    if ($http_user_agent ~* "Safari")
    {
        proxy_pass http://static_pools;
    }
    
    proxy_pass http://default_pools;
    include proxy.conf;
    
    }
    
    将location里面的root和index给注释掉,然后加上这些if语句。以下是简洁版
    通过浏览器的不同进行判断,以及转发动作
    if ($http_user_agent ~* "MSIE")
    {
        return 401;
    }
    if ($http_user_agent ~* "Chrome")
    {
        return 402;
    }
    
    if ($http_user_agent ~* "Safari")
    {
        return 403;
    }
    if ($http_user_agent ~* "curl"){
        return 405;
    }
    
    proxy_pass http://default_pools;
    include proxy.conf;
    
    }
    

    相关文章

      网友评论

          本文标题:Linux_338_Nginx判断http_user_agent

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