Một tuyến được xây dựng từ $uri có thể gửi một đường dẫn khác với đường dẫn mà máy khách cung cấp. Với http://service.example/files/a%2Fb?view=raw, dấu gạch chéo được thoát là một phần của cách viết gốc đó.

BiếnBiểu diễn
$uriURI chuẩn hóa hiện tại, có thể thay đổi trong quá trình xử lý nội bộ
$request_uriURI yêu cầu gốc, bao gồm các đối số truy vấn của nó

Trong một cách bố trí proxy chuyển tiếp HTTP hiện có vốn đã chọn và xác thực thẩm quyền đích, đường dẫn và truy vấn gốc có thể được giữ nguyên bằng:

proxy_pass http://$http_host$request_uri;

$http_host cung cấp thẩm quyền của tiêu đề Host được chọn trong cách bố trí này. Giữ nguyên các hạn chế máy khách của trình lắng nghe, chính sách đích và cấu hình phân giải tên.

Thay $uri$is_args$args bằng biểu thức này sẽ thay đổi biểu diễn được gửi đi; biểu thức trước dùng đường dẫn chuẩn hóa và các đối số hiện tại. Hãy chọn theo hợp đồng của điểm cuối, đặc biệt khi các dấu phân cách được thoát có ý nghĩa hoặc chữ ký bao trùm mục tiêu gốc. Việc viết lại đường dẫn có chủ đích có yêu cầu khác.

Điều này áp dụng cho yêu cầu HTTP hữu hình. Đường hầm HTTPS CONNECT mang yêu cầu sau đó bên trong TLS và cần cách xử lý được hỗ trợ riêng.

Bài viết liên quan