Мой сценарий — это служба, прослушивающая порт SSL 443 для входящих запросов SOAP и REST по протоколу HTTPS. Из-за расширения конфигурации и того, что продукт не может обрабатывать большую конфигурацию, мы запустили два экземпляра программного обеспечения, скажем, экземпляр A и B (либо запущенные на разных IP-адресах или портах, но все еще на одной машине).
У меня есть список всех URL-адресов, которые прослушивает экземпляр A. Например, я хочу использовать Apache2 для доступа к этому списку. Если путь входящего запроса совпадает с любым из URL-адресов в списке, я хочу перенаправить трафик на экземпляр A, в противном случае отправить его на экземпляр B.
Возможно ли это сделать в Apache2 или есть вариант получше? Не могли бы вы показать пример конфигурации для этого?
решение1
Сначала ваши серверные экземпляры не слушают URL, а слушают комбинации IP:Port. Вы можете настроить apache2 по списку и перезагрузить конфигурацию. Но то, что вы запрашиваете, — это балансировка нагрузки в целом.
Кстати, nginx гораздо лучше справляется с определением и балансировкой нескольких экземпляров.
См. Apache2.4мод-прокси-балансировщикили nginxвверх по течениюдокументация.