У нас есть приложение Symfony2, которое находится в стадии разработки и только что подписало наш первый производственный клиент.
Мы хотим временно поместить этого клиента в другой стабильный кластер, пока мы продолжаем интенсивную разработку в нашем текущем кластере. Однако мы хотим, чтобы вся эта ситуация оставалась невидимой для клиента.
Итак, я хотел бы выборочно пересылать запросы с этого клиентского компьютера, используя их конкретную авторизацию заголовка запроса (предпочтительно) или их IP-адрес (если заголовок невозможен) с нашего основного веб-сервера www на веб-сервер нашего стабильного кластера.
Я смотрю на mod_proxy, будет ли это лучший инструмент для этого? Что-нибудь еще? При необходимости я могу сделать это в приложении, но это добавит немного лишних накладных расходов к каждому запросу. Мы настроены на AWS, если это предоставляет какие-либо дополнительные инструменты, о которых я не знаю.
Огромное спасибо!
Поскольку вы хотите выполнять переадресацию выборочно, вам нужны как mod_proxy, так и mod_rewrite, поскольку mod_proxy сам по себе будет прокси только по контексту URL
Вы можете прокси на основе удаленного IP:
RewriteCond %{REMOTE_ADDR} ^12.34.56.78$
RewriteRule ^(.*)$ http://cluster/$1 [P]
или на основе входа в систему (при базовой аутентификации):
RewriteCond %{REMOTE_USER} ^username$
RewriteRule ^(.*)$ http://cluster/$1 [P]
Также есть %{HTTP:header_name}
если это настраиваемый заголовок:
RewriteCond %{HTTP:my_custom_header_name} ^my_custom_header_value$
RewriteRule ^(.*)$ http://cluster/$1 [P]