Yang ingin saya lakukan adalah,
Ketika seseorang mengunjungi http://localhost/route/abc
respons server sama persis denganhttp://localhost:9000/abc
Sekarang saya mengkonfigurasi Nginx saya seperti ini:
location /route {
proxy_pass http://127.0.0.1:9000;
}
Permintaan http adalah port yang dikirim 9000
dengan benar, tetapi jalur yang diterimanya http://localhost:9000/route/abc
tidak http://localhost:9000/abc
.
Ada saran ?
/
didokumentasikan dengan baik sebagai cara untuk menghapus awalan yang terdaftar di lokasi.Saya yakin Anda dapat menggunakan penulisan ulang untuk menghapus bagian tambahan dari URL. Dalam kasus Anda, saya pikir Anda dapat menggunakan:
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!
sumber
Coba yang berikut ini
sumber
vim nginx.conf
Kode ini mendengarkan 8080 dan mengarahkan ulang ke port 8787 pada compute-1-36. Anda dapat memilih jalur lain di lokasi /
sumber