通过 Apache 的 Socket.io 代理及其性能

通过 Apache 的 Socket.io 代理及其性能

我正在尝试为 Socket.IO 游戏设置一个服务器,但我们也将通过 Apache 提供一个 php 小型登陆页面。

我设法通过从 Apache 到 Socket.IO 应用程序的代理使服务器正常工作。Apache 在 :80 上运行,节点在 :8080 上运行,将对公众关闭。代理在 apache 的子目录中完成。配置如下:

<VirtualHost *:443>
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

    ServerAdmin XXXXX
    ServerName XXXXX
    DocumentRoot /var/www/html/XXXXX
    ErrorLog /var/log/error.log
    CustomLog /var/log/access.log combined
    SSLCertificateFile XXXXX
    SSLCertificateKeyFile XXXXX
    Include XXXXX
    SSLCertificateChainFile XXXXX

    RewriteEngine On

    RewriteCond %{REQUEST_URI}  ^/socket.io            [NC]
    RewriteCond %{QUERY_STRING} transport=websocket    [NC]
    RewriteRule /(.*)           ws://localhost:8080/$1 [P,L]


    ProxyRequests Off
    ProxyPreserveHost On
    ProxyVia Full
    <Proxy *>
        Require all granted
    </Proxy>

    ProxyPass /game http://localhost:8080 retry=0
    ProxyPassReverse /game http://localhost:8080
    ProxyPass        /socket.io http://localhost:8080/socket.io
    ProxyPassReverse /socket.io http://localhost:8080/socket.io

</VirtualHost>
</IfModule>

现在,我的问题是:
这会影响性能吗?apache 的重写规则是否可能太多,以至于它无法处理,比如说,最多或许10,000 名玩家?

如果可以的话,还有其他更好的配置选择吗?

相关内容