Назад | Перейти на главную страницу

Прокси Socket.io через Apache и его производительность

Я пытаюсь настроить сервер для игры Socket.IO, но у нас также будет небольшая целевая страница на php, обслуживаемая через Apache.

Мне удалось заставить сервер работать, сделав прокси от 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к игроков?

Если возможно, есть ли другой лучший выбор для конфигурации?