Как заставить работать Vaadin Push через HTTP-сервер Apache?

пытаюсь получить Vaadin 7.1.5 Push для работы на Apache Tomcat 7.0.42 + HTTP-сервер Apache (2.2.14 с mod_proxy_wstunnel).

Приложение Vaadin и push с WebSocket прекрасно работают, когда я обращаюсь к Tomcat напрямую (т.е.http://mydomain:8080/myapp). Проблема возникает, когда я пытаюсь получить к нему доступ с помощью модулей Apache mod_proxy & mod_proxy_wstunnel. Что происходит, так это то, что приложение зависает, индикатор загрузки становится красным, и я получаю эту ошибку в push-запросе в консоли браузера:

HTTP Status 501 - Websocket protocol not supported
type Status report
message Websocket protocol not supported
description The server does not support the functionality needed to fulfill this request.

Apache Tomcat/7.0.42

Прежде чем Push был необходим, я использовал mod_jk для пересылки запросов отhttp://mydomain/myapp вhttp://mydomain:8080/myapp, По-видимому, mod_jk не делаетt поддерживает WebSocket, поэтому я решил использовать директиву ProxyPass. Вот'Мой конфиг Apache:

ProxyPass               /myapp/PUSH/ ws://localhost:8080/myapp/PUSH/
ProxyPassReverse        /myapp/PUSH/ ws://localhost:8080/myapp/PUSH/

ProxyPass               /myapp/VAADIN/ http://localhost:8080/myapp/VAADIN/
ProxyPassReverse        /myapp/VAADIN/ http://localhost:8080/myapp/VAADIN/
ProxyPass               /myapp http://localhost:8080/myapp
ProxyPassReverse        /myapp http://localhost:8080/myapp

Я подозревал, что виноват mod_proxy_wstunnel, но, очевидно, он работает нормально, когда я проксиhttp://echo.websocket.org, Я обнаружил, что Атмосфера выбрасывает ошибку 501, но я неПонятия не имею, как его отладить. Если я удалю прокси-сервер ws (поэтому push использует HTTP вместо WS), я получу мгновение "Сессия истекла " ошибка.

Кто-нибудь знает, как правильно прокси-запросы push с сервера Apache HTTP на Apache Tomcat?

Ответы на вопрос(3)

Ваш ответ на вопрос