ws_tunnel Apache->;Websocket服务器不工作
我有一个运行在WSS://port 9000上的本地web套接字服务器。在同一台服务器上,我也运行apache 当我尝试通过WSS从远程客户端直接连接到端口9000时,如下所示: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://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>