Apache proxyPassReverse和Websockets

Apache proxyPassReverse和Websockets,apache,websocket,mojolicious,proxypass,Apache,Websocket,Mojolicious,Proxypass,我一直在从事一个使用WebSocket的Perl Mojolicous项目。我想在一个运行apache的共享服务器上启动它,并使用proxyPass和proxyPassReverse使url更漂亮,因为我的代码运行在Hypnotoad上 我把它设置如下 Apache url: mydomain.com Hypnotoad url: mydomain.com:8080 通过以下apache条目,我可以将Hypnotoad服务器反向代理到 project.mydomain.com apache

我一直在从事一个使用WebSocket的Perl Mojolicous项目。我想在一个运行apache的共享服务器上启动它,并使用proxyPass和proxyPassReverse使url更漂亮,因为我的代码运行在Hypnotoad上

我把它设置如下

Apache url:

mydomain.com
Hypnotoad url:

mydomain.com:8080
通过以下apache条目,我可以将Hypnotoad服务器反向代理到

project.mydomain.com
apache.conf条目

<VirtualHost *:80>
  ServerName project.mydomain.com
  DocumentRoot /var/www/project
  <Directory /var/www/project/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
  </Directory>
  ProxyRequests Off
  ProxyPreserveHost On
  ProxyPass / http://mydomain.com:8080/ keepalive=On
  ProxyPassReverse / http://mydomain.com:8080/
  RequestHeader set X-Forwarded-HTTPS "0"
</VirtualHost>
使用时出现302错误:

ws://mydomain.com:8080/get-data
我想这不会是一个问题,因为websocket没有检查身份验证,但是他们使用mojolicous路由来检查您是否可以通过websocket发布

据我所见,Apache不支持反向代理WebSocket。在apache/httpd conf文件中

是否有人使用Apache找到了一个在生产环境中稳定的可用解决方案?

由Jim Jagielski于3月份编写,它允许正确代理WebSocket。该补丁程序添加了一个名为proxywstunnel的新子模块,该子模块


该模块尚未出现在任何正式的Apache版本中(截至2013年6月8日),因此您需要自己编译它。描述了Apache 2.2的过程,但对于Apache 2.4来说应该更容易些,这可能就是您要寻找的。请看:

ApacheHTTPD2.4.6包括代理websocket请求。

这更适合于注释而不是答案。一旦你,请考虑把这个问题的评论。“SameerSingh,我认为这正是问题的答案,由补丁的承诺者。
ws://mydomain.com:8080/get-data