Пользовательские параметры с помощью apache2 loadbalancer из множества DNS - PullRequest
0 голосов
/ 03 мая 2018

Ну, я установил LB с apache2, позади него есть проект (ZF2 PHP), то есть Ecommerce.

Я намереваюсь получить много DNS-адресов от клиентов, и все они указывают на мой LB и отправляют эти запросы, но моя проблема заключается в том, что между LB и подчиненными серверами есть способ идентификации, с какого DNS этот запрос является

Сегодня у меня есть это

<VirtualHost *:80>
    ServerName client1.com
    ServerAlias www.client1.com

    ProxyRequests Off
    <Proxy \*>
        Order deny,allow
        Deny from all
    </Proxy>

    <Proxy balancer://clusterA>
    BalancerMember http://http1.mysubdomain.com/10
    BalancerMember http://http2.mysubdomain.com/10
    Order allow,deny
    Allow from all
    </Proxy>
    ProxyPass / balancer://clusterA/
</VirtualHost>

<VirtualHost *:80>
    ServerName client2.com
    ServerAlias www.client2.com

    ProxyRequests Off
    <Proxy \*>
        Order deny,allow
        Deny from all
    </Proxy>

    <Proxy balancer://clusterB>
    BalancerMember http://http1.mysubdomain.com/20
    BalancerMember http://http2.mysubdomain.com/20
    Order allow,deny
    Allow from all
    </Proxy>
    ProxyPass / balancer://clusterB/
</VirtualHost>

Таким образом, если получить доступ к веб-сайту с клиента 1 (client1.com), мой проект узнает, что его ID равен 10, а если он с (client2.com), будет 20.

И это вроде работает, но мне сложно управлять маршрутами и путями (включая контент public / внутри проекта.

Какие-нибудь советы / идеи? Спасибо

1 Ответ

0 голосов
/ 04 мая 2018

Решено! Ну, бывает, что мне просто нужно посмотреть на мои заголовки, когда я получаю доступ через LB, есть изменение в заголовках, которые идут с X-Forwarded-Server, которые указывают, откуда пришел DNS. В этом случае я использую метод getallheaders() из PHP.

...