бэкенд nginx энкодит символы. то есть если я запрашиваю http://myhost/api/backend/users/user1%40mail.ru, то на бекенд приходит /users/user1%2540mail.ru. конфиг локейшна такой, прокси_пасс без uri, судя по доке nginx должен слать на бекенд без преобразований. Но он таки преобразует. Локейшн выглядит так:
location /api/backend/ {
proxy_http_version 1.1;
set $upstream_address backend.default.svc.cluster.local;
if ($request_uri ~ ^/api/backend(/.*)$) {
set $new_request_uri $1;
}
proxy_pass http://$upstream_address$new_request_uri;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
что я делаю не так?
а ты уверен, что это не ты сам присылаешь такую строчку? ибо в запросе % заменяется на %25 силами самого http-клиента (или браузера)
Обсуждают сегодня