รักษาเส้นทางที่เข้ารหัสไว้ในเส้นทางส่งต่อ HTTP ของ NGINX ที่มีอยู่
ใช้ request_uri เมื่อสัญญาการส่งต่อต้องการเส้นทางและคำค้นเดิม โดยคงการตรวจสอบปลายทางที่มีอยู่ไว้
เส้นทางที่สร้างจาก $uri อาจส่งเส้นทางที่แตกต่างจากที่ไคลเอนต์ระบุ สำหรับ http://service.example/files/a%2Fb?view=raw เครื่องหมายทับที่ escape แล้วเป็นส่วนหนึ่งของการสะกดเดิมนั้น
| ตัวแปร | การแทนค่า |
|---|---|
| $uri | URI ที่ปรับให้เป็นมาตรฐานปัจจุบัน ซึ่งอาจเปลี่ยนไประหว่างการประมวลผลภายใน |
| $request_uri | URI ของคำขอเดิม รวมถึงอาร์กิวเมนต์คำค้น |
ในการจัดวางพร็อกซีส่งต่อ HTTP ที่มีอยู่ซึ่งเลือกและตรวจสอบสิทธิ์ของปลายทางอยู่แล้ว เส้นทางและคำค้นเดิมสามารถรักษาไว้ได้ด้วย:
proxy_pass http://$http_host$request_uri;$http_host ให้สิทธิ์ของส่วนหัว Host ที่เลือกในการจัดวางนี้ รักษาข้อจำกัดไคลเอนต์ของผู้รับฟัง นโยบายปลายทาง และการกำหนดค่าการแปลงชื่อ
การแทนที่ $uri$is_args$args ด้วยนิพจน์นี้จะเปลี่ยนการแทนค่าที่ส่ง ก่อนหน้านี้ใช้เส้นทางที่ปรับให้เป็นมาตรฐานและอาร์กิวเมนต์ปัจจุบัน เลือกตามสัญญาของปลายทาง โดยเฉพาะเมื่อตัวคั่นที่ escape มีความสำคัญหรือลายเซ็นครอบคลุมเป้าหมายเดิม การเขียนเส้นทางใหม่โดยเจตนามีข้อกำหนดที่แตกต่างกัน
สิ่งนี้ใช้กับคำขอ HTTP ที่มองเห็นได้ อุโมงค์ HTTPS CONNECT พาคำขอภายหลังไว้ภายใน TLS และต้องมีการจัดการที่รองรับของตนเอง