Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: upload, download and listing of objects with "+" in their keys
When uploading an object containing several + in their keys, nginx considers the "+" as being a "valid" url charcter, then it is not re-encoding it when proxy_pass the url. This ends up in signature validation issues on cloudserver side, because cloud server receives the request with a plain "+" character instead of its urlencode counterpart "%2B". To solve the issue, we create a new variable named "urlencore_proxy_uri" where we urlencode the "+" and give that URL to the proxy_pass, this way nginx is not re-encoding it. We had to introduce lua to do this operation via a set_by_lua_block because a simple map module in nginx is not replacing ALL the occurences but only the last match. Ref: ZKUI-317
- Loading branch information