среда, 11 января 2017 г.

Apache2.2 + WebSocket


Наши программисты решили использовать в своих проектах WebSocket протокол.
На конечных серверах все работает отлично, но при проксировании через Apache не проксируются запросы WebSockets, т.к Apache2.2 не умеет работать с WebSocket's

Переезд на последнюю версию веб сервера, с поддержкой веб сокетов для нас не возможен:
 - синтаксис конфигураций версии 2.4 не совпадает с 2.2
 - используются кастомные модули, существующие только для 2.2

Решили сделать Backporting Apache support for websockets reverse proxy и собрать свой модуль mod_proxy_wstunnel.so
В результате пришлось перекомпилить весь Apache с поддержкой SSL и модули для поддержки WebSockets под Windows (32bit binary)

Подключаем модуль после основного mod_proxy.so :
LoadModule mod_proxy_wstunnel modules/mod_proxy_wstunnel.so

проксируем WebSocket's :
<Location /myproject/endpoint>
ProxyPass ws://myserver.ru:80/myproject/endpoint
ProxyPassReverse ws://myserver.ru:80/myproject/endpoint
</Location>





Популярные сообщения