#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