apache websockets反向代理

时间:2015-05-06 14:19:47

标签: apache websocket reverse-proxy

如何让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 个答案:

答案 0 :(得分:3)

是的,它可能。我们使用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>