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

Использование apache proxypass для перенаправления на разные серверы в зависимости от пути

У меня в конфигурации сайта по умолчанию есть следующее:

<VirtualHost *:80>
        ProxyPreserveHost On
        ProxyPass / http://127.0.0.1:8080/
        ProxyPassReverse / http://127.0.0.1:8080/

        ProxyPass /test http://10.0.0.100:8080/test
        ProxyPassReverse /test http://10.0.0.100:8080/test

</VirtualHost>

У меня разные серверы для разных приложений, но я бы хотел, чтобы они казались конечному пользователю как один сайт. Любое из определений proxypass, которые я определил, работает так, как я ожидал, при использовании отдельно, но когда оба они раскомментированы, как показано выше, переход в / test просто пытается открыть 127.0.0.1/test

Я делаю ошибку или есть лучшее решение?

В соответствии с Документы Apache «Настроенные правила ProxyPass и ProxyPassMatch проверяются в порядке настройки. Первое соответствующее правило побеждает».

<VirtualHost *:80>
    ProxyPreserveHost On

    ProxyPass /test http://10.0.0.100:8080/test
    ProxyPassReverse /test http://10.0.0.100:8080/test

    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/

</VirtualHost>