代理配置和Websocket出现问题

时间:2019-03-04 14:30:01

标签: apache websocket proxy reverse-proxy

使用WHM / cPanel运行CentOS。运行我们最近向客户开放的第三方BI工具。它在端口8080上运行,并且与客户和端口存在许多问题。试图设置代理以允许用户访问端口80。除WebSocket之外,其他所有功能均正常。在端口8080上有效,但在80上无效。

错误:

  

与'ws://test.titandash.com/vs-events/831/dot3dqaq/websocket'的WebSocket连接失败:   WebSocket握手期间出错:意外的响应代码:400

WS URL:

  • 不起作用:ws://test.titandash.com/vs-events/978/sjnprvmw/websocket
  • 工作:ws://titandash.com:8080 / vs-events / 526 / b2ofnbsz / websocket

当前会议包含

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 个答案:

答案 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