Кажется, что nginx не поддерживает упорядоченные запросы. Но я пытаюсь получить более окончательный (и текущий) ответ. У меня есть клиент, делающий SOAP-запрос на сервер с Java-клиента, который устанавливает заголовок Transfer-Encoding: chunked
. Все работает хорошо, когда я подключаюсь непосредственно к моему приложению на Tomcat.Как сделать chunked запрос через nginx
Но когда я устанавливаю nginx между ними, тогда все ломается.
Чтобы добавить несколько деталей: я работаю с CloudFoundry. Я использую Micro Cloud Foundry, чтобы подтвердить, что все работает так, как ожидалось, в отсутствие nginx. Но мое требование - использовать cloudfoundry.com, поэтому у меня нет возможности обходить nginx там.
This question and answer говорит, что это, пожалуй, только мое решение: http://wiki.nginx.org/NginxHttpChunkinModule. Но обходной путь недоступен, так как я не могу изменить конфигурацию на cloudfoundry.com.
This question также выглядит аналогичным, но на самом деле это перекрывает это требование. Он охватывает ответы, а не частые запросы.
Итак, как насчет каких-либо изменений на клиенте, чтобы обойти это? Можно ли отправить как Transfer-Encoding: chunked
, так и Content-Length: 123
в качестве заголовков? Эта область для меня новая, но, похоже, из таких проектов, как Apache HttpComponents, можно задать либо длину, либо фрагмент, но не оба. Точка прерывания состоит в том, что вам не нужно знать длину при запуске запроса. Могу ли я сказать, что мой клиент использует HTTP/1.0 и хорошо играет с nginx без chunking? Есть ли другие обходные идеи, которые я забываю?
Можно ли пересылать как кодирование передачи: chunked, так и Content-Length: 123 в виде заголовков? Это распространено? – mdahlman