Балансировка нагрузки Apache с помощью веб-сокетов - PullRequest
1 голос
/ 12 апреля 2019

Мы хотим сбалансировать нагрузку между запросами двух процессов, прослушивающих разные порты в KVM.

Когда я помещаю URL-адрес непосредственно в RewriteRule без балансировки нагрузки, тогда, похоже, все работает нормально.Так что я думаю, что есть проблема с моей конфигурацией.

Моя конфигурация:

<IfModule mod_ssl.c> 
    <virtualHost :443>
    ServerName super.secret.domain

    Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
    <Proxy balancer://httprewrite>
            BalancerMember http://192.168.122.83:81/$1 route=1
            BalancerMember http://192.168.122.83:80/$1 route=2
            ProxySet stickysession=ROUTEID
    </Proxy>

    <Proxy balancer://wsrewrite>
            BalancerMember ws://192.168.122.83:81/$1 route=1
            BalancerMember ws://192.168.122.83:80/$1 route=2
            ProxySet stickysession=ROUTEID
    </Proxy>

    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} =websocket [NC]
    RewriteRule /(.) balancer://wsrewrite/ [P,L] 

    RewriteCond %{HTTP:Upgrade} !=websocket [NC] 
    RewriteRule /(.*) balancer://httprewrite/ [P,L] 

    SSLCertificateFile /etc/letsencrypt/live/super.secret.domain/cert.pem 
    SSLCertificateKeyFile /etc/letsencrypt/live/super.secret.domain/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateChainFile /etc/letsencrypt/live/super.secret.domain/chain.pem 
    </virtualHost>
</IfModule>

Некоторые части загружают не некоторые другие части.Например, https://super.secret.domain/favicon.ico дает ошибку 404.

...