使用WHM / cPanel运行CentOS。运行我们最近向客户开放的第三方BI工具。它在端口8080上运行,并且与客户和端口存在许多问题。试图设置代理以允许用户访问端口80。除WebSocket之外,其他所有功能均正常。在端口8080上有效,但在80上无效。
错误:
与'ws://test.titandash.com/vs-events/831/dot3dqaq/websocket'的WebSocket连接失败: WebSocket握手期间出错:意外的响应代码:400
WS URL:
当前会议包含
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>
答案 0 :(得分:0)
cd / etc / apache2 / sites-enabled
如果您仍在使用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