Назад | Перейти на главную страницу

Как я могу сопоставить proxy_cache_key в nginx с путем в proxy_pass, если используются несколько косых черт?

Я получаю запрос в форме http: //host.example/foo/ или http: //host.example/foo// Запросы отправляются на внутренний сервер с proxy_pass http://backend; и кешируется с ключом proxy_cache_key "$scheme://$host$uri$is_args$args" Затем серверная часть решает, что следует делать, с несколькими косыми чертами.

Но если / foo // перенаправляет на / foo /, запись сохраняется с тем же ключом кеша, что и / foo /, что приводит к циклу перенаправления.

Теперь конечно у меня есть merge_slashes on; который я хотел бы сохранить, потому что есть пара совпадений местоположений, без которых было бы сложно.

Есть что-то вроде $unmerged_uri так proxy_pass и proxy_cache_key подойдет?