это первый раз для меня на SO, поэтому, пожалуйста, будьте терпеливы для моего первого вопроса.Spring-Cloud Zuul разрывает символы UTF-8 в перенаправленном имени файла с множественным запросом
Я думаю, что у меня какая-то проблема конфигурации, но после дня экспериментов я застрял. Наше приложение основано на Spring-Cloud [выпуск Brixton]. Мы имеем конфигурацию, как это: Portal (веб-приложение, служащее угловой на основе веб-интерфейс), который имеет Zu прокси с одного маршрутом сконфигурированного к нашему сервису шлюза, например, так:
zuul:
ignoredServices: '*'
prefix: /api
routes:
api-proxy:
path: /**
serviceId: api-gateway
, который имеет другой Zuul сконфигурированный и ретранслирует запросы к внутренним бизнес-логическим услугам:
zuul:
ignoredServices: '*'
routes:
service1:
path: /service1/**
serviceId: service1
service2:
path: /service2/**
serviceId: service2
Вся эта конфигурация работает без проблем. Проблема, с которой я столкнулся, - это многопользовательские запросы на загрузку файлов. Точнее - эти многочастные запросы, когда файл, который будет загружен, имеет не латинские символы (например, ąčęėįš) от UTF-8
. Когда запрос достигает обслуживания, который должен иметь дело с @RequestPart MultipartFile file
, тогда file.getOriginalFilename()
возвращает вопросительные знаки в местах вышеупомянутых символов. Теперь я попытался напрямую загрузить такой файл на такой контроллер, и имя файла не содержит никаких вопросов, то есть не нарушается, что указывает на то, что некоторая плохая интерпретация/синтаксический анализ многостраничного запроса происходит где-то в фильтрах Zuul, когда прокси-ретранслятор запрашивает запрос.
Возможно, у кого-то был аналогичный опыт с Зуулом и он может направить меня каким-то образом, чтобы решить эту проблему?
Один из самых странных ошибок, я когда-либо видел .. – nurgasemetey