Я пытаюсь перенаправить трафик с Apache на Tomcat на сервере CentOs с помощью модулей mod_proxy и mod_proxy_wstunnel.HTTP-трафик перенаправляется без проблем, но я не могу успешно перенаправить трафик websocket с какой-либо конфигурацией, которую я пробовал до сих пор.Он дает мне код ответа 200 вместо 101.
Я прочитал много похожих вопросов, но пока не нашел решения.У них есть похожие проблемы. Вопрос 1 , Вопрос 2
Я использую Apache Server 2.4.6 -> Apache Tomcat 7.0.92 -> Java-приложение с реализацией сокетов Spring и javax.
Вот мои модули:
Вот мой httpd config:
<VirtualHost *:80>
ServerName domain.com
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"$
CustomLog /var/log/httpd/log_access.log combined
ErrorLog /var/log/httpd/log_error.log
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
Require all granted
</Proxy>
RewriteEngine On
#RewriteCond %{HTTP:Connection} Upgrade [NC]
#RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /app-api/chat/user/(.*) ws://127.0.0.1:8080/app-api/chat/user/$1 [P,L]
ProxyPass /app-api http://127.0.0.1:8080/ retry=1 acquire=3000
ProxyPassReverse /app-api http://127.0.0.1:8080/
DocumentRoot /var/www/html
Если я использую соединение с Apache Tomcat напрямую на локальной машине - все хорошо, возвращается 101, но не на удаленной.
Почемуя получаю 200 ответ?Что не так с этим конфигом?
Я перепробовал много реализаций, но все равно получил 200 откликов от сервера вместо обновления до 101.