如何使用多个斜线将nginx中的proxy_cache_key与proxy_pass中的path相匹配?

我以http://host.example/foo/或http://host.example/foo//的格式收到请求。请求通过proxy_pass http://backend;发送到后端服务器proxy_pass http://backend; 并使用密钥proxy_cache_key "$scheme://$host$uri$is_args$args" 。然后,后端决定应该用多个斜杠进行操作。

但是,如果/ foo //redirect到/ foo /,则使用与/ foo /相同的caching键保存该条目,从而导致redirect循环。

现在我当然有了merge_slashes on; 我想保留,因为有几个位置匹配,没有它会变得复杂。

有没有像$unmerged_uri proxy_cache_key这样的proxy_passproxy_cache_key会匹配?