Rute yang dibangun dari $uri dapat mengirim path yang berbeda dari yang diberikan klien. Untuk http://service.example/files/a%2Fb?view=raw, garis miring yang di-escape adalah bagian dari ejaan asli tersebut.

VariabelRepresentasi
$uriURI ternormalisasi saat ini, yang dapat berubah selama pemrosesan internal
$request_uriURI permintaan asli, termasuk argumen kuerinya

Dalam susunan proxy penerus HTTP yang sudah ada dan telah memilih serta memvalidasi otoritas tujuan, path dan kueri asli dapat dipertahankan dengan:

proxy_pass http://$http_host$request_uri;

$http_host menyediakan otoritas header Host yang dipilih dalam susunan ini. Pertahankan pembatasan klien listener, kebijakan tujuan, dan konfigurasi resolusi nama.

Mengganti $uri$is_args$args dengan ekspresi ini mengubah representasi yang dikirim; ekspresi sebelumnya menggunakan path ternormalisasi dan argumen saat ini. Pilih sesuai kontrak endpoint, terutama saat pemisah yang di-escape penting atau tanda tangan mencakup target asli. Penulisan ulang path yang disengaja memiliki persyaratan berbeda.

Ini berlaku untuk permintaan HTTP yang terlihat. Terowongan HTTPS CONNECT membawa permintaan berikutnya di dalam TLS dan memerlukan penanganan terdukung tersendiri.

Artikel terkait