OK, então, se alguém precisar disso no futuro, eu teria que adicionar um if e uma reescrita:
if ($args !~* at=long\-encrypted\-user\-id) {
rewrite ^/(.*)$ /$1?at=long-encrypted-user-id last;
}
e o bloco final do servidor se torna
server {
server_name hostname;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:port/;
if ($args !~* at=long\-encrypted\-user\-id) {
rewrite ^/(.*)$ /$1?at=long-encrypted-user-id last;
}
}
}
O Nginx avisa sobre o uso de if
( IfIsEvil ), mas não se você adicionar last
à reescrita.