Проблема с настройкой прокси и Websocket

#apache #websocket #proxy #reverse-proxy

#apache #websocket #прокси #обратный прокси

Вопрос:

Запуск CentOS с WHM / cPanel. Запуск стороннего инструмента BI, который мы недавно открыли для клиентов. Он работает на порту 8080 и имел много проблем с клиентами и портом. Пытался настроить прокси, чтобы пользователи могли использовать порт 80. Все работает, кроме WebSocket. Работает на порту 8080, но не на 80.

Ошибка:

Сбой подключения WebSocket к ‘ws://test.titandash.com/vs-events/831/dot3dqaq/websocket’: Ошибка во время подтверждения связи с WebSocket: неожиданный код ответа: 400

URL-адреса WS:

  • Не работает: ws://test.titandash.com/vs-events/978/sjnprvmw/websocket
  • Работает: ws://titandash.com: 8080/vs-events/526/b2ofnbsz/websocket

Текущий Conf.d включает

 LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
<VirtualHost 192.249.120.188:80>
        ServerName test.titandash.com
        ServerAdmin ccole@shiptsg.com
        ProxyPreserveHost Off
        ProxyRequests Off
        ProxyPass / http://titandash.com:8080/ upgrade=WebSocket
        ProxyPass "/vs-events" "http://titandash.com:8080/vs-events" upgrade=WebSocket
        ProxyPassReverse / http://titandash.com:8080/
</VirtualHost>
  

Ответ №1:

cd /etc/apache2/sites-включен

Если вы все еще используете файл 000-default.conf, укажите конфигурацию вашего виртуального хоста там, а не в config.d

 <VirtualHost *:80>
    ServerName test.titandash.com
    ServerAdmin ccole@shiptsg.com
    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPass "/vs-events/" "ws://[enterbackendserver]:8080/vs-events"
</VirtualHost>
  

Затем запустите их в командной строке:

 sudo a2enmod proxy

sudo a2enmod proxy_http

sudo a2enmod proxy_wstunnel

sudo systemctl restart apache2