apache websockets反向代理
Posted
技术标签:
【中文标题】apache websockets反向代理【英文标题】:apache websockets reverse proxy 【发布时间】:2015-05-06 14:19:46 【问题描述】:如何让 Apache 反向代理 Web 套接字连接?
我有一个聊天室应用程序,可以在本地主机上正常工作,但不能通过反向代理进行连接。
如何设置它才能正常工作?
<VirtualHost *:80>
ServerAdmin me@gmail.com
ProxyRequests off
DocumentRoot /var/www
ProxyPreserveHost On
ServerName 82.2.180.6
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
LogLevel error
<Location />
ProxyPass http://127.0.0.1:3050/
ProxyPassReverse http://127.0.0.1:3050/
Order allow,deny
Allow from all
</Location>
</VirtualHost>
【问题讨论】:
【参考方案1】:是的,有可能。我们已经使用 Apache 来反向代理 websocket。
确保您的 Apache 是使用以下模块构建的:mod_proxy_wstunnel。版本 2.4.5 之后支持。
然后你只需要找出你的 websocket 正在使用哪个端口。
如果它也使用3050,那么你需要这样的东西:
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
#***SKIPPED OTHER HTTPD CONFIG***
<Location />
ProxyPass ws://127.0.0.1:3050/
ProxyPassReverse ws://127.0.0.1:3050/
</Location>
【讨论】:
以上是关于apache websockets反向代理的主要内容,如果未能解决你的问题,请参考以下文章
使用 Apache 反向代理的 Ratchet websocket 没有响应
如何使用 Apache 作为 WebSockets 的反向代理,以 Undertow 作为服务器
Apache 反向代理背后的 Apache Zeppelin