Я считаю, что вы можете использовать переписать, чтобы удалить лишнюю часть URL. В вашем случае я думаю, что вы могли бы использовать:
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;
}
Однако если в вашем приложении есть внутренние ссылки, они все равно могут указывать на / abc / foo, и если вы делаете это, им вместо этого нужно указывать на / route / abc / foo, чтобы необработанный запрос поступал правильно. Возможно, вам лучше оставить конфигурацию nginx такой, какой она есть, и вместо этого сконфигурировать ваше приложение, чтобы знать, что оно живет в подкаталоге, если можете.
Я знаю, что это старый вопрос, но он был главным хитом для меня, когда я пытался решить ту же проблему!
/
хорошо документировано как способ удаления префикса, указанного в расположении.