在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;
}
}