Je crois que vous pouvez utiliser la réécriture pour supprimer la partie supplémentaire de l'URL. Dans votre cas, je pense que vous pourriez utiliser :
location /route/ {
rewrite ^/route/?(.*)$ /$1 break;
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Cependant, si votre application contient des liens internes, ils peuvent toujours pointer vers /abc/foo , et si vous faites cela, ils doivent pointer vers /route/abc/foo pour que la requête brute arrive correctement. Il est préférable de laisser la configuration de nginx telle quelle et de configurer votre application pour qu'elle sache qu'elle se trouve dans un sous-répertoire, si vous le pouvez.
Je sais que c'est une vieille question, mais c'est ce qui est apparu en premier sur Google lorsque j'ai essayé de résoudre le même problème.