Una ruta construida a partir de $uri puede enviar una ruta distinta de la que proporcionó el cliente. Para http://service.example/files/a%2Fb?view=raw, la barra escapada forma parte de esa escritura original.

VariableRepresentación
$uriEl URI normalizado actual, que puede cambiar durante el procesamiento interno
$request_uriEl URI original de la solicitud, incluidos sus argumentos de consulta

En una disposición existente de proxy de reenvío HTTP que ya selecciona y valida la autoridad de destino, la ruta y la consulta originales pueden conservarse con:

proxy_pass http://$http_host$request_uri;

$http_host proporciona la autoridad del encabezado Host seleccionada en esta disposición. Mantenga las restricciones de cliente del oyente, la política de destino y la configuración de resolución de nombres.

Sustituir $uri$is_args$args por esta expresión cambia la representación enviada; la anterior usa la ruta normalizada y los argumentos actuales. Elija según el contrato del punto final, sobre todo cuando los delimitadores escapados importan o una firma cubre el objetivo original. La reescritura deliberada de la ruta tiene un requisito distinto.

Esto se aplica a la solicitud HTTP visible. Un túnel HTTPS CONNECT transporta la solicitud posterior dentro de TLS y requiere su propio manejo compatible.

Artículos relacionados