Nginx ทำงานบนพอร์ต 80 และฉันใช้เพื่อย้อนกลับ URL พร็อกซีด้วยพา ธ/foo
ไปยังพอร์ต3200
ด้วยวิธีนี้:
location /foo {
proxy_pass http://localhost:3200;
proxy_redirect off;
proxy_set_header Host $host;
}
ใช้งานได้ดี แต่ฉันมีแอปพลิเคชันบนพอร์ต3200
ซึ่งฉันไม่ต้องการ/foo
ให้ส่งเริ่มต้นไปที่ นั่นคือ - เมื่อฉันเข้าถึงhttp://localhost/foo/bar
ฉันต้องการเพียง/bar
เป็นเส้นทางตามที่ได้รับจากแอพ ดังนั้นฉันพยายามเพิ่มบรรทัดนี้ในบล็อกตำแหน่งที่ตั้งด้านบน:
rewrite ^(.*)foo(.*)$ http://localhost:3200/$2 permanent;
สิ่งนี้ทำให้เกิดการเปลี่ยนเส้นทาง 302 (เปลี่ยนเป็น URL) แต่ฉันต้องการ 301 ฉันควรทำอย่างไร