ws_tunnel Apache->;Websocket服务器不工作

ws_tunnel Apache->;Websocket服务器不工作,apache,websocket,Apache,Websocket,我有一个运行在WSS://port 9000上的本地web套接字服务器。在同一台服务器上,我也运行apache 当我尝试通过WSS从远程客户端直接连接到端口9000时,如下所示: wss://myserver:9000 它很好用。但是,我在路由器上阻止了端口9000,并试图通过apache(在SSL上运行)访问它 当我尝试访问 wss://myserver/ 我可以在Apache中看到它发出GET的日志,但是我的web套接字服务器没有收到连接 我已经通读了各种SO线程,我想我的顺序是正确的 详情

我有一个运行在WSS://port 9000上的本地web套接字服务器。在同一台服务器上,我也运行apache

当我尝试通过WSS从远程客户端直接连接到端口9000时,如下所示:

wss://myserver:9000

它很好用。但是,我在路由器上阻止了端口9000,并试图通过apache(在SSL上运行)访问它

当我尝试访问
wss://myserver/

我可以在Apache中看到它发出GET的日志,但是我的web套接字服务器没有收到连接

我已经通读了各种SO线程,我想我的顺序是正确的

详情:

Apache版本:
服务器版本:Apache/2.4.7(Ubuntu)

sudoapache2ctl-M显示正在运行的代理模块

代理_模块(共享)
代理\u http\u模块(共享)
代理隧道模块(共享)

Apache配置:(VirtualHost中的相关行)

ProxyPass/wss://localhost:9000/
ProxyPassReverse/wss://localhost:9000/
命令拒绝,允许
通融
请注意,我的本地web套接字服务器和Apache都配置为使用相同的证书

(我不确定是否需要代理*部分,但我在一个SO线程中看到了它)

下面是调试日志:


谢谢

当需要对SSL进行端到端的隧道传输时,默认情况下ApacheWStunnel似乎不起作用。如果Apache终止WSS,然后对本地服务器执行WS,那么就可以工作了

我发现这个线程描述了如何重新编译Apache以允许端到端WSS隧道


我目前决定不做apache隧道,直接为我的事件服务器打开防火墙端口,因为我不希望我的用户有意愿为此重新编译apache。

我不知道apache在
ws
中的设置,但是,我想知道这是否可能是SSL问题。。。wss服务是否有唯一的证书(这可能会阻止浏览器连接,除非该证书有效)。。。。你试过不同的浏览器吗?您是否使用相同的证书(可能是混搭问题)从
https
网页访问
wss
?感谢Myst,看起来模块不允许本地进程和远程客户端之间的端到端SSH隧道。
ProxyPass / wss://localhost:9000/
ProxyPassReverse / wss://localhost:9000/

<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>