nginx – ¿por qué no puedo usar variables en la ruta proxy_pass?

¿Por qué no puedo usar variable $ user en proxy_pass – como en el ejemplo de abajo?

server { listen 80; server_name ~^(?P<user>[az|AZ|0-9|_|-]+)\.example\.net$; root /home/$user/webapps/; location /app/ { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_networkingirect off; proxy_pass http://unix:/home/$user/webapps/app/run/gunicorn.sock:/; } } 

¿Es esto posible de conseguir o debo dar para arriba?

Y éste sería perfecto, pero tampoco está funcionando.

 server { listen 80; server_name ~^(?P<user>[az|AZ|0-9|_|-]+)\.example\.net$; root /home/$user/webapps/; location ~ ^\/(?P<app>[\w-_]+)(\/.*)?$ { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_networkingirect off; proxy_pass http://unix:/home/$user/webapps/$app/run/gunicorn.sock:/; } } 

He leído esto y aquello y aquí, pero ninguno de ellos cubrir proxy_pass a través de socket unix.

Las directivas de paso de proxy no ven $ user y $ app como parámetro en su caso tiene que decirle a través de las $is_args y $args así:

 proxy_pass http://unix:/home/$user$is_args$args/webapps/$app$is_args$args/run/gunicorn.sock:/; 

Se encontró que 'uri' era el problema no variables, por lo que la configuration correcta debe ser

 proxy_pass http://unix:/home/$user/webapps/$app/run/gunicorn.sock:$request_uri; 

debo activar la debugging más rápido, gracias por el apoyo.

No puedo comprobar esta solución ya, esta es mi suposition ahora mismo – porque fui con un conf por aplicación, voy a tratar de unificar mi configuration más tarde.