websocket协议不支持通过Apache2反向代理

我们已经build立了一个Apache2的反向代理,在URL中隐藏端口,并在后面的阶段保护我们与SSL的连接。

我们在AWS ECR上运行Hawkbit Java容器。 我们通常通过input到服务的网页

ip:port/UI 

我们的实习导师希望进入ip / UI进入网页。 我们已经build立了一个Apache2反向代理, 并能够通过ip / UI访问网页。

但是,当我们以pipe理员身份login时,我们不能做任何事情。 我们通过在Firefox上使用F12来检查stream量,并且在尝试build立websocket时出现501错误。

我们也在AWS上使用应用程序ELB。 我们已经尝试将以下内容添加到我们的conf文件中:

 ProxyPass /UI ws://ip:port/UI ProxyPassReverse /UI ws://ip:port/UI 

但没有效果。

看看这个 – > mod_proxy_wstunnel

[…]这个模块需要mod_proxy的服务 它提供了对web套接字连接到后端websockets服务器的隧道的支持 。 连接会自动升级到websocket连接:HTTP响应

 Upgrade: WebSocket Connection: Upgrade 

可以使用ProxyPass指令代理请求到websockets服务器,如echo.websocket.org:

 ProxyPass "/ws2/" "ws://echo.websocket.org/" ProxyPass "/wss2/" "wss://echo.websocket.org/"