基於user-agent 轉發

mingtian是吧發表於2024-06-09

在Nginx中,可以使用$http_user_agent變數來獲取請求的User-Agent頭,然後基於這個頭的值來決定如何轉發請求。

實現方式一:

http {
    map $http_user_agent $backend {
        default http://backend3;
        ~*Chrome http://backend1;
        ~*Firefox http://backend2;
    }

    server {
        listen 80;

        location / {
            proxy_pass $backend;
        }
    }
}

實現方式二:

server {
    listen 80;

    location / {
        if ($http_user_agent ~* Chrome) {
            proxy_pass http://backend1;
            break;
        }

        if ($http_user_agent ~* Firefox) {
            proxy_pass http://backend2;
            break;
        }

        proxy_pass http://backend3;
    }
}

相關文章