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

Обратный прокси-сервер Apache не работает должным образом

Хорошо, я чувствую себя немного глупо из-за этого.

Я пытаюсь настроить простую настройку обратного прокси-сервера Apache, и я упираюсь в стену. Раньше у меня эта установка работала, но теперь я просто не вижу, что идет не так. Вот установка:

Listen 4050

ServerName lb-test
DocumentRoot /www/app

ProxyRequests Off

Header add Set-Cookie "BALANCEID=hej.%{BALANCER_WORKER_ROUTE}e; path=/;" env=BALANCER_ROUTE_CHANGED

<Proxy balancer://cluster>
    BalancerMember http://appserver1:4050 route=appserver1
    BalancerMember http://appserver2:4050 route=appserver2
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass /balancer-manager !
ProxyPass / balancer://cluster/ stickysession=BALANCEID
ProxyPassReverse / balancer://cluster/

<Location /balancer-manager>
    SetHandler balancer-manager

    Order deny,allow
    Deny from None
    Allow from all
</Location>

Я вижу в журнале с включенной отладкой, что запросы направляются к члену балансировщика, но также происходит то, что URL-адрес хоста прокси также вставляется в заголовок.

С хоста lb: curl -I localhost

HTTP/1.1 200 OK
Date: Wed, 11 Apr 2012 17:33:18 GMT
Server: thin 1.3.1 codename Triple Espresso
Content-Type: text/html; charset=utf-8
Via: 1.1 appserver2:4050
Via: 1.1 lb-test
Set-Cookie: BALANCEID=hej.appserver2; path=/;

Как видите, оба хоста находятся в заголовке, что нарушает работу приложения. Я бы подумал, что попадание в localhost: 80 не вызовет mod_proxy, верно? Если я нажму localhost: 4050, произойдет то же самое. Кто-нибудь знает, что происходит?

Спасибо

вы должны установить;

ProxyPreserveHost On

в вашей конфигурации vhost