apache websockets 反向代理

apache websockets reverse proxy

如何让 Apache 反向代理网络套接字连接?

我有一个聊天室应用程序,它在本地主机上运行良好,但无法通过反向代理进行连接。

如何设置它才能正常工作?

<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>

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