Nginx proxy_pass com base na extensão do file e na seqüência de consulta

Eu preciso proxy_pass ativos statics (.js .css) com base em extensão de file e strings de consulta.

Por exemplo:

domain.com/foo.css – vá paira upstream1 domain.com/foo.css?V=1234 – vá paira upstream2

Razão é que eu tenho uma configuration de 3 serveres – um roteador, um server de aplicativos e um server static. Gostairia de qualquer request com clean url domain.com/foo.cs paira ir paira upstream1 (onde meu server static está configurado). E qualquer solicitação que tenha string de consulta domain.com/foo.css?V=1234 paira ir paira upstream2 (onde meu server de aplicativos está configurado).

Talvez possa ser feito usando http://wiki.nginx.org/HttpLuaModule ?

Obrigado!

One Solution collect form web for “Nginx proxy_pass com base na extensão do file e na seqüência de consulta”

Use um mapa .

map $airg_v $node { default upstream1; "~^[0-9]+$" upstream2; } serview { listen 80; serview_name domain.com; location ~ \.(css|js)$ { proxy_pass http://$node; } }