Vaadin 8 + Tomcat 9 + прокси nginx + Websocket + SSL
ВЕРСИИ:
Ядро Vaadin Client версии 8.4.3 Ядро Vaadin Server версии 8.4.3 Vaadin Theme версия 8.4.3 Vaadin Push версия сервера 2.4.24.vaadin1 Vaadin Push версия клиента 2.3.2.vaadin1-javascript (примечание: не нужно совпадать с версией сервера))
Tomcat: 9.0.8 nginx: 1.12.2
У меня есть эта конфигурация:
Приложение Vaadin 8, подается через Tomcat 9.
Приложение имеет ручной толчок с транспортной сеткой.
Если я использую приложение, подаваемое непосредственно из Tomcat, то соединение Websocket работает правильно.
Также работает загрузка в приложение файлов 10 Мб.
Если я использую приложение через прокси-сервер nginx, загрузка работает только для очень маленьких файлов (около 80 КБ), и веб-сокет изначально работает, но через 30 секунд приложение зависает (я думаю, что веб-сокет закрывается).
Если я прокомментирую строки обновления в конфигурации nginx, приложение вернется к методу длинных опросов и будет работать (но это медленно!).
Это конфигурация nginx:
location / {
proxy_http_version 1.1;
proxy_pass http://demo/app/;
proxy_cache demo;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_cookie_path /app /;
error_page 500 502 503 504 /server_down.html;
# this lines make websocket work for 30 secs:
#proxy_set_header Connection $http_connection;
#proxy_set_header Connection "upgrade";
}
Любая помощь будет оценена!