Кодировка передачи фрагментированного nginx завершается неудачно
Я использую реализацию nginx с сервлетами Jetty.
Для целей моего проекта мне нужно инициализировать два соединения с сервлетом причала и оставить их открытыми. Для инициализации нисходящей линии связи я использую обычный запрос и получаю входной поток обратно. Для инициализации восходящей линии связи я использую запрос кодирования по частям.
Я использую версию 1.4.6 nginx, поэтому кодирование по частям должно быть установлено по умолчанию, независимо от того, что я установил в своем определении сервера.
#HTTPS server
server {
listen 443;
listen [::]:443;
server_name localhost;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_http_version 1.1;
expires off;
proxy_buffering off;
chunked_transfer_encoding on;
proxy_pass https://127.0.0.1:8080;
# root html;
# index index.html index.htm;
}
}
Я просмотрел все форумы и до сих пор не могу найти решение. Включено частичное кодирование, отключена прокси-буферизация и т. Д., И я не могу заставить его работать. Я также провел простые тесты, чтобы убедиться, что не моя реализация приложений как-то блокирует ее, и она все еще не работает.
Что-нибудь еще я могу попробовать?
1 ответ
Поэтому я также разместил сообщение на форуме nginx и получил ответ. То, что я специально ищу, называется "небуферизованная загрузка", и в настоящее время эта функция не предоставляется nginx.
Об использовании веб-сокетов не может быть и речи, потому что позже этот прототип необходимо будет внедрить в более крупную и более старую систему, использующую протокол http. Таким образом, ответ на это будет невозможен с "nginx". Любой, кто сталкивается с той же проблемой, может обойти эту проблему, используя tengine, который является вилкой nginx.