vérifiez plusieurs agents user dans nginx

J'ai besoin de redirect le trafic vers un backend ou un autre selon l'agent user. Est-ce la bonne chose à faire ?

server { listn 80; server_name my_domain.com; if ($http_user_agent ~ iPhone ) { rewrite ^(.*) https://m.domain1.com$1 permanent; } if ($http_user_agent ~ Android ) { rewrite ^(.*) https://m.domain1.com$1 permanent; } if ($http_user_agent ~ MSIE ) { rewrite ^(.*) https://domain2.com$1 permanent; } if ($http_user_agent ~ Mozilla ) { rewrite ^(.*) https://domain2.com$1 permanent; } } 

2 Solutions collect form web for “vérifiez plusieurs agents user dans nginx”

Si vous utilisez 0.9.6 ou plus tard, vous pouvez utiliser une carte avec des expressions régulières (1.0.4 ou plus tard peuvent utiliser des expressions insensibles à la casse en utilisant ~ * au lieu de seulement ~):

 http { map $http_user_agent $ua_redirect { default ''; ~(iPhone|Android) m.domain1.com; ~(MSIE|Mozilla) domain2.com; } server { if ($ua_redirect != '') { rewrite ^ https://$ua_redirect$request_uri? permanent; } } } 

Oui, ce serait la façon de le faire. Si vos templates vont restr aussi simples, vous pouvez probablement les combiner pour réduire le volume des comparaisons d'expression:

 if ($http_user_agent ~ (iPhone|Android) ) { rewrite ^(.*) https://m.domain1.com$1 permanent; } if ($http_user_agent ~ (MSIE|Mozilla) ) { rewrite ^(.*) https://domain2.com$1 permanent; } 
  • Servez-vous des files différents pour des agents users spécifiques utilisant nginx
  • Le site Vanilla .Net 4.0 ne peut pas identifier certains browsers basés sur AppleWebKit
  • Comment puis-je bloquer un agent user de tous les sites sur mon server?
  • Servez-vous des fichiers différents pour des agents utilisateurs spécifiques utilisant nginx
  • Blocage par string user-agent dans httpd.conf pas efficace
  • Search Engine Bot - Grande quantité de hits
  • Servez-vous des files différents pour des agents users spécifiques à l'aide de nginx
  • Very long useragent
  • Identification des strings UserAgent qui ne prennent pas en charge TLSv1.1
  • Utilisation de .htaccess pour exclure tous les agents users pour un site privé
  • Comment créer .htaccess et bloquer UserAgent libwww-perl?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.