Saya yakin Anda dapat menggunakan penulisan ulang untuk menghapus bagian tambahan dari URL. Dalam kasus Anda, saya pikir Anda dapat menggunakan:
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;
}
Namun jika aplikasi Anda memiliki tautan internal di dalamnya, mereka mungkin masih menunjuk ke / abc / foo, dan jika Anda melakukan ini mereka malah harus menunjuk ke / route / abc / foo sehingga permintaan mentah masuk dengan benar. Anda mungkin lebih baik meninggalkan nginx config apa adanya dan alih-alih mengonfigurasi aplikasi Anda agar menyadarinya tinggal di subdirektori, jika Anda bisa.
Saya tahu ini adalah pertanyaan lama, tapi itu adalah hit google teratas bagi saya ketika saya mencoba untuk menyelesaikan masalah yang sama!
/
didokumentasikan dengan baik sebagai cara untuk menghapus awalan yang terdaftar di lokasi.