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

时间:2017-03-31 14:46:24

标签: apache amazon-web-services docker proxy

我们已经使用Apache2设置了反向代理,以隐藏URL中的端口,并在以后的阶段保护我们与SSL的连接。

我们在AWS ECR上运行Hawkbit Java容器。我们通常会输入

进入服务网页
ip:port/UI

我们的实习导师想要进入 ip / UI 进入网页。我们已经设置了Apache2反向代理,能够使用ip / UI转到网页。

但是,当我们以管理员身份登录时,我们不允许做任何事情。我们在Firefox上使用F12检查了流量,在尝试建立websocket时遇到501错误。

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

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

但没有效果。

1 个答案:

答案 0 :(得分:0)

查看THIS - >的 mod_proxy_wstunnel

[...] 此模块需要 mod_proxy服务。它支持将Web套接字连接隧道连接到后端websockets服务器。连接自动升级为websocket连接: HTTP响应

Upgrade: WebSocket
Connection: Upgrade

使用ProxyPass指令可以完成对诸如echo.websocket.org之类的websockets服务器的代理请求:

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