В моем приложении, основанном на первичных лицах, я использую структуру атмосферы для передачи данных с сервера на клиент. Я развертываю приложение на tomcat 7.0.54. Все выглядит нормально, если я получаю доступ к приложению через ip и порт. Неважно, используя локальный хост или IP-адрес удаленного сервера, он работает отлично. Но когда я пытаюсь получить доступ к приложению через http://domainNameWithoutPort.com/appName за Apache2, Atmosphere выдает эти исключения. на стороне клиента (в Chrome):
WebSocket connection to 'ws://domain.com/appName/primepush/liveStream?X-Atmosphere-tracking-id=0&X-Atmosphere-Framework=1.0.8&X-Atmosphere-Transport=websocket&X-Cache-Date=0' failed: Error during WebSocket handshake: Unexpected response code: 501 domain.com/appName/javax.faces.resource/push/push.js.xhtml?ln=primefaces:1
Websocket closed, reason: Connection was closed abnormally (that is, with no close frame being sent).
Websocket closed, wasClean: false
Websocket failed. Downgrading to Comet and resending
Failed to load resource: the server responded with a status of 501 (Not Implemented) http://domain.com/appName/primepush/liveStream?X-Atmosphere-tracking-id=0…k=1.0.8&X-Atmosphere-Transport=long-polling&X-Cache-Date=0&_=140722464408
И те исключения на стороне сервера:
org.atmosphere.cpr.AsynchronousProcessor - Invalid request state. Websocket protocol not supported
org.atmosphere.cpr.AsynchronousProcessor - Invalid request state. AsyncContext#startAsync not supported. Make sure async-supported is set to true in web.xml
и в конечном итоге не обновляет клиентскую часть. Я определил <async-supported>true</async-supported> в web.xml, но не повезло.
Версии используемых технологий; Версия Primefaces: 3.5, версия Atmosphere: 2.1.5, Tomcat 7.0.54
Надеюсь, кто-нибудь знает трюк,
Спасибо всем.