Esses dois casos não são os mesmos. Se você usar uma variável, esse valor substituirá o URI inteiro.
Neste caso:
location /site {
proxy_pass http://docker-site/site/mobile;
}
o URI /site/foo
é passado no envio como /site/mobile/foo
.
Para usar sua variável, você pode usar uma reescrita (consulte este documento para obter detalhes) :
location /site {
rewrite ^/site(.*)$ /site/$myvariable$1 break;
proxy_pass http://docker-site;
}
Ou um local de expressão regular:
location ~ ^/site(.*)$ {
proxy_pass http://docker-site/site/$myvariable$1;
}
A ordem de avaliação dos blocos de localização de expressão regular é significativa. Consulte este documento para obter detalhes.